@charset "UTF-8";
/* Theme Primary Colors*/
/* Theme Primary Colors*/
/* ------------------------------- */
/* Safran Default Theme settings  */
/* UI Specific*/
/* Definitions */
/* Shoadow*/
/* std Text*/
/*Loader */
/* Windows
  ------------

*/
/* define sizes*/
/* PopWindow*/
/* 
    Start Menu
*/
/*$Window-Bar-background: $CA!default;*/
/*start buttons*/
/* start menu - the popup menues*/
/*start menu buttons*/
/* xML - Menu List*/
/* startmenu headers & containers*/
/*--------*/
/*List Items*/
/*
    Forms
*/
/* forms alternative*/
/*List Items in Forms*/
/*Checkbox and radio*/
/*Forms - Widgets */
/*Tabs */
/* Tables */
/* 
    General settings

*/
/* Buttons */
/* x - Specif: default site*/
/* subMenu */
/*Menu Bt*/
/*Menu General*/
/* Forms context menu */
/*! 
*** SAFRAN CORE
*** 
 */
/* Disable text selection highlighting. */
/*body {
    @include disable-select-ios();
}*/
.saf-marking-allowed {
  -webkit-touch-callout: unset;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text; }

.saf-marking-off {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*----- Tab Links -----*/
/* Clearfix */
.tabs {
  position: relative;
  width: 100%;
  display: block;
  /*.tab-links:after {
        display: block;
        clear: both;
        content: '';
    }*/ }
  .tabs .tab-links {
    max-width: 100%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    overflow: auto;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    list-style: none; }
    .tabs .tab-links > li {
      margin: 0 2px;
      flex: 0 1 auto;
      overflow: hidden;
      min-width: 2.5em;
      max-width: 14em; }
    .tabs .tab-links > li.active {
      flex: 0 0 auto; }
    .tabs .tab-links > li.active a, .tabs .tab-links > li.active a:hover {
      background: white;
      color: rgba(0, 0, 0, 0.9);
      border-color: #ecebe6; }
    .tabs .tab-links a {
      display: block;
      vertical-align: bottom;
      max-width: 100%;
      min-width: 7em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      padding: 6px 12px;
      display: inline-block;
      border: solid 1px #ecebe6;
      background: #ecebe6; }
    .tabs .tab-links a:hover, .tabs .tab-links a:focus {
      color: black;
      border-color: #ecebe6;
      background-color: #c2d2ea;
      text-decoration: underline;
      transition: 0.25s; }

/*----- Content of Tabs -----*/
.tab-content {
  clear: both;
  position: relative;
  background-color: #fff;
  margin-top: 0px;
  padding: 4px;
  /*padding: 1em 1em;*/
  border: solid 2px #ecebe6; }

.tab {
  display: none; }

.tab.active {
  display: block; }

/*ecebe6*/
/*.caTable {
    @include disable-select();
}*/
.mbtTable {
  /*@include enable-select();*/
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-left: 2px;
  margin-bottom: 5px;
  margin-top: 18px;
  /*&.mbtSingleLiner {
        .mbtCell {
            white-space: nowrap;
            text-overflow:ellipsis;
            max-width: 20em;
            overflow:hidden;
        }
    }*/
  /*&{
        .mbtCell {
            white-space: nowrap;
            text-overflow: ellipsis;
            max-width: 20em;
            overflow: hidden;
            > * {overflow: visible!important;}
        }

        .mbtRow.mbtRowActive {
            outline: 3px solid rgba($CA, 0.5);

            .mbtCell {         
                white-space: normal;
            }
        }
    }*/
  outline: 1px solid rgba(1, 29, 26, 0.2) !important;
  margin: 2px; }
  .mbtTable caption {
    /*used to move the rowSelectionButton*/
    position: relative;
    height: 0px;
    left: 0px;
    margin: 0px;
    padding: 0px;
    caption-side: top; }

.mbtHeaderColumn {
  padding: 4px 5px 2px 5px;
  text-align: left;
  border-left: 1px solid #ecebe6;
  border-right: 1px solid #ecebe6;
  border-top: none; }

.mbtHeaderRow {
  border-bottom: 8px solid #274671 !important;
  border-bottom: 3px solid #274671 !important; }

.mbtCellStatus {
  border-top: 1px solid #274671;
  border-left: none !important;
  border-right: none !important;
  font-size: x-small;
  color: gray; }

.mbtStatus {
  font-size: x-small;
  color: gray; }

/*
    Attention
    // Classnames are used in Code
.mbtRow 
.mbtCell
.mbtCellPaging 

*/
.renderer-Table .mbtCell {
  padding: 5px 5px 5px 5px;
  vertical-align: top;
  border-right: 1px solid #ecebe6; }

.renderer-Table .mbtCell:first-child {
  border-left: none; }

.renderer-Table .mbtCell:last-child {
  border-right: none; }

.renderer-Table .mbtCellCentered {
  text-align: center; }

.renderer-Table .mbtCellRightAligned {
  text-align: right; }

.renderer-Table .mbtCellLeftAligned {
  text-align: left; }

.renderer-CardView .mbtCellCentered {
  text-align: center; }

.renderer-CardView .mbtCellRightAligned {
  text-align: right; }

.renderer-CardView .mbtCellLeftAligned {
  text-align: left; }

.renderer-Table {
  /*.mbtRow {
        &:active, &:focus, &:focus-within {
            outline: 0.5px solid rgba($CA, 0.4);
        }
    }*/ }
  .renderer-Table .mbtTotal {
    border-top: 6px double #274671; }

.mbtRow:focus {
  outline: none; }

.mbtRow.mbtRowActive {
  outline: 1px dashed rgba(1, 29, 26, 0.5); }
  .mbtRow.mbtRowActive.selected {
    outline: 2px solid rgba(1, 29, 26, 0.8); }

.renderer-CardView .mbtTotal {
  border-top: 6px double #274671; }

.mbtLoadingDataMessageDiv {
  text-align: center;
  margin: 20px 20px 20px 20px;
  padding: 0px 0px 0px 30px; }

.mbtPagingBlock {
  margin: 0px 0px 0px 5px; }

.mbtPagingLink {
  margin: 5px 0px 5px 0px;
  display: inline-block;
  padding: 5px 5px 5px 5px;
  border: 1px solid #ecebe6;
  min-width: 2.5em;
  text-align: center; }

.mbtPagingLinkActive {
  background-color: #ecebe6;
  color: black; }

/* sorting */
.mbtHeaderColumn.mbtColumnSortable {
  cursor: pointer;
  position: relative;
  /* Symbol for sorting */ }
  .mbtHeaderColumn.mbtColumnSortable:hover {
    background-color: #e2e5f3; }
  .mbtHeaderColumn.mbtColumnSortable::after {
    /* Symbol for sorting */
    /*display: inline-block;*/
    position: absolute;
    top: auto;
    bottom: auto;
    right: 1px;
    font-weight: normal;
    font-size: x-small;
    font-family: fontAwesome;
    content: "\f0dc";
    padding: 3px;
    opacity: 0;
    transition: 0.2s; }
  .mbtHeaderColumn.mbtColumnSortable:hover::after {
    background-color: #e2e5f3;
    color: #3f6fb5;
    opacity: 1;
    transition: 0.2s; }
  .mbtHeaderColumn.mbtColumnSortable.asc, .mbtHeaderColumn.mbtColumnSortable.desc {
    color: #274671;
    padding-right: 1em;
    font-weight: bold; }
    .mbtHeaderColumn.mbtColumnSortable.asc::after, .mbtHeaderColumn.mbtColumnSortable.desc::after {
      background: transparent; }
  .mbtHeaderColumn.mbtColumnSortable.asc:hover::after, .mbtHeaderColumn.mbtColumnSortable.dsc:hover::after {
    content: "\f0dc";
    /*transform: rotate(180deg);*/ }
  .mbtHeaderColumn.mbtColumnSortable.asc::after {
    opacity: 1;
    content: "\f0dd"; }
  .mbtHeaderColumn.mbtColumnSortable.desc::after {
    opacity: 1;
    content: "\f0de"; }

/*metabaseMarkup*/
.metabaseMarkup {
  color: rgba(0, 0, 0, 0.8);
  font-size: 14px; }
  .metabaseMarkup h1, .metabaseMarkup h2, .metabaseMarkup h3 {
    margin-top: 12px;
    margin-bottom: 3px; }
  .metabaseMarkup h1, .metabaseMarkup h2, .metabaseMarkup h3 {
    margin-top: 6px;
    margin-bottom: 0px; }
  .metabaseMarkup h1 {
    font-size: 2em; }
  .metabaseMarkup h2 {
    font-size: 1.5em; }
  .metabaseMarkup h3 {
    font-size: 1.17em; }
  .metabaseMarkup h4 {
    font-size: 1em; }
  .metabaseMarkup h5 {
    font-size: 0.83em; }
  .metabaseMarkup h6 {
    font-size: 0.67em; }
  .metabaseMarkup pre {
    padding: 0.5em;
    background-color: #e8e8e8;
    font-size: 85%; }

.xaExpandable > div {
  overflow: hidden;
  background: #FFFFFF;
  padding-left: 1em;
  max-height: 80px; }

.xaExpandable:active, .xaExpandable:focus {
  border: 1px solid rgba(0, 0, 0, 0.2); }
  .xaExpandable:active > div, .xaExpandable:focus > div {
    max-height: none !important; }

.side-card-R .xaExpandable > div {
  max-height: 500px; }

/* tabular Data Renderer 2.0 */
/* Container wraps whole table*/
.caTable {
  position: relative; }

.caTDContainer {
  box-sizing: border-box;
  overflow: auto;
  position: relative;
  margin: 0px;
  margin-top: 0;
  padding: 20px;
  padding-top: 0;
  min-height: 150px;
  color: rgba(0, 0, 0, 0.8);
  padding: 0px 0 20px 0; }

.renderer-Table, .renderer-CardView {
  /*alternating rows*/ }
  .renderer-Table tbody tr:nth-child(even), .renderer-CardView tbody tr:nth-child(even) {
    background-color: #fBFBFB;
    border-bottom: 1px solid #ecebe6; }
  .renderer-Table tbody tr:nth-child(odd), .renderer-CardView tbody tr:nth-child(odd) {
    background: #ffffff;
    border-bottom: 1px solid #ecebe6; }

.caTDContainer.renderer-Table .mbtMarkupExpansion {
  max-height: 300px;
  overflow: auto; }

/* Row Selection*/
.renderer-Table .mbtRow.selected > .mbtCell {
  background-color: #ccd9ed;
  border-right-color: transparent; }

.renderer-Table .mbtRowSelect {
  vertical-align: middle; }
  .renderer-Table .mbtRowSelect:before {
    padding-right: 0.2em;
    color: rgba(0, 0, 0, 0.84);
    /*font-family: 'Glyphicons Halflings';
            content: "\e157";*/
    font-family: FontAwesome;
    content: "\f096"; }
  .renderer-Table .mbtRowSelect:hover {
    background-color: #3f6fb5 !important; }
    .renderer-Table .mbtRowSelect:hover:before {
      color: #FFFFFF; }

.renderer-Table .mbtRow.selected .mbtRowSelect {
  background: #274671 !important; }

.renderer-Table .mbtRow.selected .mbtRowSelect:before {
  color: rgba(255, 255, 255, 0.84);
  content: "\f14a"; }

.renderer-Table tbody .mbtRow:hover > .mbtCell {
  background-color: #f7f7f7;
  color: black;
  transition: 0.1s; }

.renderer-Table tbody .mbtRow.selected:hover > .mbtCell {
  background-color: #a0b9de; }

.renderer-CardView .mbtRow.selected {
  background-color: #ccd9ed;
  /*outline: 3px solid rgba($CP-500,0.5);*/ }
  .renderer-CardView .mbtRow.selected tr {
    background-color: #ccd9ed; }

.renderer-CardView .mbtRowSelect {
  background: white;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: large;
  vertical-align: middle; }
  .renderer-CardView .mbtRowSelect:before {
    padding: 0.5em;
    color: rgba(0, 0, 0, 0.84);
    /*font-family: 'Glyphicons Halflings';
            content: "\e157";*/
    font-family: fontAwesome;
    content: "\f096 "; }
  .renderer-CardView .mbtRowSelect:hover {
    background-color: #3f6fb5 !important; }
    .renderer-CardView .mbtRowSelect:hover:before {
      color: #FFFFFF; }

.renderer-CardView .mbtRow.selected .mbtRowSelect {
  background: #274671 !important; }

.renderer-CardView .mbtRow.selected .mbtRowSelect:before {
  color: rgba(255, 255, 255, 0.84);
  content: "\f046"; }

.renderer-CardView tbody .mbtRow:hover > .mbtCell {
  background-color: #f7f7f7;
  color: black;
  transition: 0.1s; }

.renderer-CardView tbody .mbtRow.selected:hover > .mbtCell {
  background-color: #a0b9de; }

/* used for popups relative to cell*/
.caPopRel {
  display: inline-block;
  position: relative; }

/* Button in tables with functionality: for ex.: show record, deletet,... */
.caTDButton {
  display: inline-block;
  position: relative;
  color: #335a93;
  border: 2px solid transparent;
  background: transparent;
  padding-bottom: 0px;
  /*transition: 0.3s;*/
  min-width: 2em;
  text-align: center;
  vertical-align: baseline;
  opacity: 0.64;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); }
  .caTDButton:hover, .caTDButton:focus, .caTDButton:active {
    color: #FFFFFF;
    border-radius: 0;
    border: 2px solid transparent;
    background: #3f6fb5;
    transition: 0.2s;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    /*text-shadow: 1px 1px 1px rgba(0, 0, 0, 1)!important;*/
    opacity: 0.9; }

.mbtCell.mbt-EditCell,
.mbtCell.mbt-OperationCell,
.mbtCell.mbt-EditCell {
  padding: 0;
  vertical-align: middle; }
  .mbtCell.mbt-EditCell .caTDButton,
  .mbtCell.mbt-OperationCell .caTDButton,
  .mbtCell.mbt-EditCell .caTDButton {
    padding: 3px; }

.mbtCell.mbt-EditCell .caTDButton {
  transform: scale(1.3); }

.mbtRow:hover > .mbtCell.mbt-EditCell .caTDButton,
.mbtRow:focus > .mbtCell.mbt-EditCell .caTDButton {
  opacity: 0.9;
  transition: 0.3s;
  transform: scale(1.5);
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }

.mbtCell.mbt-OperationCell .caTDButton {
  transform: scale(1.3); }

.mbtRow:hover > .mbtCell.mbt-OperationCell .caTDButton,
.mbtRow:focus > .mbtCell.mbt-OperationCell .caTDButton {
  opacity: 0.9;
  /*transition: 0.5s;*/
  transform: scale(1.3);
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }

.mbtCell.mbt-DeleteCell {
  vertical-align: middle; }
  .mbtCell.mbt-DeleteCell .caTDButton:hover {
    background: darkred;
    color: #FAFAFA !important; }

.mbtRow:hover > .mbtCell.mbt-DeleteCell .caTDButton,
.mbtRow:focus > .mbtCell.mbt-DeleteCell .caTDButton {
  color: darkred; }

.mbtCell.total-sigma {
  text-align: center;
  font-weight: bold; }

.mbtHeaderColumn.caTyPhone {
  min-width: 9.5em; }

.mbtHeaderColumn.caTyPhone::before {
  /*font-family: 'Glyphicons Halflings';
    content: "\e182 ";*/
  font-family: fontAwesome;
  content: "\f095";
  padding-right: 3px; }

.mbtHeaderColumn.caTyEmail::before {
  /*    font-family: 'Glyphicons Halflings';
    content: "\2709";*/
  font-family: fontAwesome;
  content: "\f003";
  padding-right: 6px; }

/* Operations */
.mbtOperations {
  min-height: 3em; }

.mbtSeparator {
  display: block;
  width: 100%;
  height: 0.5em;
  border-bottom: 1px solid #AAA;
  margin-bottom: 0.5em; }

.mbtOperationOff {
  color: #BBB;
  margin-left: 8px; }

/*caMoreText*/
/* if the text is long, only the first part is shown and the rest is collapsed -> more Text can be shown with click on button*/
.caMoreTextBt:hover {
  cursor: pointer; }

.caMoreTextBt::before {
  /*    font-family: 'Glyphicons Halflings';
    content: "mehr\e250";*/
  font-family: fontAwesome;
  content: "\f141  \f178";
  font-size: x-small;
  background-color: rgba(109, 108, 108, 0.11);
  border-radius: 10px;
  margin-left: 0.5em; }

.caMoreTextBt.caMTvisible::before {
  /*font-family: 'Glyphicons Halflings';
    content: "\e251 weniger";*/
  font-family: fontAwesome;
  content: "\f177";
  color: grey;
  background-color: rgba(109, 108, 108, 0.11);
  border-radius: 15px; }

.caMoreTextContent {
  display: none; }

.caMoreTextContent.caMTvisible {
  display: inline; }

/*  card view       */
/**/
/*table Header - columns and sorting*/
.mbtHeader-Card {
  display: flex;
  flex-wrap: wrap;
  border: 2px solid white;
  font-size: x-small; }

/* table Body*/
.mtbBody-Card {
  margin-top: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative; }

/* table rows*/
.mbtRow-Card {
  position: relative;
  background: white;
  width: 300px;
  flex: 1 0 auto;
  margin-bottom: 12px;
  margin-right: 12px;
  padding: 6px;
  /*transition: box-shadow 0.3s; transitions slow down scroll speed on ios*/
  border: 1px solid rgba(0, 0, 0, 0.02);
  border-top-color: rgba(0, 0, 0, 0.14);
  border-left-color: rgba(0, 0, 0, 0.07);
  /*&:active {    
        //active ->mbtRowActive
        outline: 1px solid rgba($CP-300, 1)!important;
    }*/
  /*&:focus {//active ->mbtRowActive 
        outline: 1px solid rgba($Black, 1);       
    }*/ }
  .mbtRow-Card .cardViewTable {
    width: 100%;
    table-layout: fixed; }
  .mbtRow-Card .mbtRow-CellEdit .caTDButton {
    width: 100%;
    text-align: right;
    opacity: 0.64; }
  .mbtRow-Card .mbtCell-CellOperations .caTDButton {
    font-size: 130%;
    transform: scale(1.3); }
  .mbtRow-Card:hover, .mbtRow-Card:focus {
    /*box-shadow: 6px 6px 50px rgba(black,0.15); // changed 2019-10*/
    box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.1);
    /*outline: 0.5px dashed rgba($Black,0.3);*/
    z-index: 1; }
  .mbtRow-Card:hover .mbtRow-CellEdit .caTDButton, .mbtRow-Card:hover .mbtCell-CellOperations .caTDButton, .mbtRow-Card:active .mbtRow-CellEdit .caTDButton, .mbtRow-Card:active .mbtCell-CellOperations .caTDButton, .mbtRow-Card:focus .mbtRow-CellEdit .caTDButton, .mbtRow-Card:focus .mbtCell-CellOperations .caTDButton {
    opacity: 0.9;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); }
  .mbtRow-Card .mbtRow-CellDelete > .caTDButton {
    color: darkred; }
    .mbtRow-Card .mbtRow-CellDelete > .caTDButton:hover {
      color: #FAFAFA !important;
      background: darkred !important;
      opacity: 0.9; }
  .mbtRow-Card:hover .mbtRow-CellDelete,
  .mbtRow-Card:active .mbtRow-CellDelete,
  .mbtRow-Card:focus .mbtRow-CellDelete {
    opacity: 0.64;
    transition: 1s; }
  .mbtRow-Card.side-Card {
    min-width: 100%;
    /*due to printing else card is not full width*/
    width: 100%;
    position: relative;
    margin-bottom: 6px; }
    .mbtRow-Card.side-Card:hover, .mbtRow-Card.side-Card:active {
      /*box-shadow: none;*/ }
    .mbtRow-Card.side-Card .card-HRL {
      font-size: inherit; }
    .mbtRow-Card.side-Card .card-headerLink:first-line {
      font-size: inherit;
      font-weight: normal; }

/* SideCard*/
@media (min-width: 500px) {
  .mbtRow-Card.side-Card {
    display: flex;
    flex-wrap: wrap; }
    .mbtRow-Card.side-Card .side-card-R {
      margin-left: 1em;
      flex: 3; }
    .mbtRow-Card.side-Card .side-card-L {
      flex: 1;
      min-width: 180px;
      max-width: 300px; }
      .mbtRow-Card.side-Card .side-card-L .cardViewTable {
        width: 100%; } }

.card-HRL {
  width: 35%;
  text-align: right;
  padding-right: 0.3em;
  font-size: 24px; }
  .card-HRL .caTDButton {
    display: inline-block; }

.card-HRR {
  width: auto;
  text-align: left;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis; }

.mtbBody-Card .card-H {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.9);
  vertical-align: bottom; }

.card-headerLink {
  cursor: pointer;
  margin-bottom: 3px; }
  .card-headerLink:first-line {
    font-size: large; }
  .card-headerLink:hover {
    color: #274671;
    text-decoration: underline; }

.mtbBody-Card .card-L {
  vertical-align: middle;
  font-weight: lighter;
  font-size: x-small;
  padding-left: 0.5em;
  padding-right: 1em;
  color: rgba(0, 0, 0, 0.9);
  max-width: 5em;
  text-align: right;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis; }

.mtbBody-Card .card-R {
  vertical-align: top;
  font-weight: lighter;
  font-size: small;
  text-align: left;
  overflow-wrap: break-word;
  color: black;
  text-overflow: ellipsis; }

.mbtRow-CellDelete {
  position: absolute;
  bottom: 0px;
  right: 0px;
  padding: 2px;
  background-color: #FFFFFF;
  opacity: 0; }

.mbtRow-CellMove {
  position: absolute;
  top: 1px;
  left: 4px; }

@media screen and (max-width: 690px) {
  .mbtRow-Card {
    width: 100%; }
  .mtbBody-Card .card-R {
    font-weight: 600; }
  .caTDContainer {
    padding: 0px; } }

/* Drag and Drop */
.mbtDropFieldUp.XADragOver {
  -ms-transform: translate(0, -15px) scale(1.02, 1.02);
  -webkit-transform: translate(0, -15px) scale(1.02, 1.02);
  transform: translate(0, -15px) scale(1.02, 1.02);
  transition: 0.5s; }

.mbtDropFieldDown.XADragOver {
  -ms-transform: translate(0, 15px) scale(1.02, 1.02);
  -webkit-transform: translate(0, 15px) scale(1.02, 1.02);
  transform: translate(0, 15px) scale(1.02, 1.02);
  transition: 0.5s; }

.mbtDraggedEnd {
  opacity: 0.2; }

.mbtDragSource td {
  transform: scale(1, 1) translate(100%, 0);
  opacity: 0;
  transition: 1s; }

.mbtDragSource {
  opacity: 0;
  transition: 1s; }

/*standard View*/
.mbtDropFieldUp > td, .mbtDropFieldDown > td {
  background-color: #fef0de; }

.mbtDropFieldUp.XADragOver > td, .mbtDropFieldDown.XADragOver > td {
  background-color: #fee7c7; }

/* cardView*/
.mbtDropFieldUp.mbtRow-Card, .mbtDropFieldDown mbtRow-Card {
  background-color: #fef0de; }

.mbtDropFieldUp.XADragOver.mbtRow-Card td, .mbtDropFieldDown.XADragOver.mbtRow-Card td {
  background-color: #fee7c7; }

.mbtServerEorror {
  font-size: 14px; }

.caAppliedFilters {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaTableSelectorCSS .caAppliedFilters {
  display: none; }

.mbtAppliedFilter {
  font-size: 90%;
  opacity: 1;
  background: rgba(1, 29, 26, 0.64);
  color: #FAFAFA;
  border-radius: 0px;
  margin: 0 0 2px 2px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  padding: 3px 3px 3px 6px;
  display: inline-block;
  /*&.notClickable { 
        button {
            visibility: hidden;
        }
    }*/ }
  .mbtAppliedFilter:before {
    font-size: 90%;
    opacity: 0.5;
    /*font-family: 'Glyphicons Halflings';
        content: "\e138";*/
    font-family: fontAwesome;
    content: "\f0b0"; }
  .mbtAppliedFilter button {
    margin-left: 0.5em;
    border-radius: 3px;
    background: transparent;
    font-weight: bolder;
    border: 1px solid rgba(250, 250, 250, 0.2);
    color: #FAFAFA; }
    .mbtAppliedFilter button:hover {
      opacity: 0.8;
      background: #FAFAFA;
      color: #000000; }

.filterControl.filterSaveLastState {
  border-left-width: 6px !important;
  border-left-color: rgba(52, 185, 204, 0.5) !important; }

.saf-ListOperation-button {
  /*&.xaSaveInProg::before {position: absolute;}*/ }
  .saf-ListOperation-button:disabled {
    opacity: 0.5; }

/* css for the Child Entities rendered in Forms    
    - sometimes also called "subForms"
*/
.mbfSubFormContainer {
  display: block;
  margin-bottom: 1em; }

.caCEFBody {
  width: 100%;
  /*padding: 5px;*/
  /*&:first-child {border-top: 1px solid rgba($Black,0.15);}*/ }
  .caCEFBody > .caCEFItem {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15); }

.caCEFItem {
  padding: 0px;
  position: relative;
  display: block;
  width: 100%; }

.caCEFButtonBody {
  padding-top: 8px;
  position: relative;
  width: 100%; }

.caCEFBody .caSequence {
  display: none;
  opacity: 0.25; }

.caCEFIMenu {
  display: none; }

.caCEFIMenuR {
  display: inline-block;
  text-align: right;
  width: 100%; }

.caCEFItem.sub-deleted .caCEFIMenu {
  display: block; }

/*.caCEFItem:active, .caCEFItem:focus,*/
/*.caCEFItem:hover*/
.caCEFItem.active {
  border-right: 1px solid rgba(0, 0, 0, 0.25); }
  .caCEFItem.active .caCEFIMenu {
    display: block;
    /*background-color: #c9ddf3;*/ }

.showIfCEFactive, .mbfGrid.showIfCEFactive {
  display: none; }

.caCEFItem.active .showIfCEFactive {
  display: block; }

.mbfGrid.caCEFItem.active .showIfCEFactive {
  display: inline-block; }

.caCEFIMenu:hover, .caCEFIMenu:active {
  /*background-color:  #e7eff8;*/ }

.caCEFItem:hover, .caCEFItem:active {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1); }

.caCEFIBody {
  width: 100%;
  margin-top: 10px; }

/*// undo overlay*/
.undoSign:before {
  position: absolute;
  left: 1em;
  top: -0.2em;
  /*font-family: 'Glyphicons Halflings';
    content: "\e095";*/
  font-family: fontAwesome;
  content: "\f064";
  text-shadow: 2px 5px 1px rgba(0, 0, 0, 0.3); }

/* Tables */
/* ----------------------------------*/
/* css for the Child Entities rendered in Forms    
    - sometimes also called "subForms"
*/
.mbfSubFormContainer.subTableView {
  width: auto;
  border: 1px solid lightgray;
  background: #FFFFFF;
  padding: 0.5em 0.5em 0.5em 0; }
  .mbfSubFormContainer.subTableView .caCEFAddBtntarget {
    margin: .25em 2em; }
  .mbfSubFormContainer.subTableView .caCEFButtonBody {
    padding-top: 0;
    position: relative;
    width: 100%; }
    .mbfSubFormContainer.subTableView .caCEFButtonBody .btn:focus {
      outline: 2px solid #011d1a; }

.caCEFTableHead {
  /*border: 0.5px solid $CP-300;*/
  background: #c2d2ea; }
  .caCEFTableHead td {
    border: 1px transparent black;
    border-left: 1px solid rgba(0, 0, 0, 0.25);
    overflow: hidden; }
    .caCEFTableHead td > div {
      padding: 0.5em;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }

.caCEFTableBody {
  width: 100%;
  /* border-left: 1px solid gray;*/
  overflow: visible;
  /*    .mbf-iw-small,
    .mbf-iw-medium,
    .mbf-iw-large {
        width: auto;
    }*/ }
  .caCEFTableBody > .caCEFItem {
    border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
  .caCEFTableBody td {
    border: 1px transparent black;
    border-left: 1px solid transparent; }
  .caCEFTableBody .caSequence {
    display: none;
    opacity: 0.25; }
  .caCEFTableBody .mbfControlContainer {
    margin-bottom: 0px; }

.caCEFTableItem {
  padding: 0px;
  position: relative;
  display: block;
  width: 100%;
  /*  display: flex;*/ }
  .caCEFTableItem .caCEFTableIMenu {
    display: none; }
  .caCEFTableItem .caCEFTableIMenuR {
    display: block; }
  .caCEFTableItem.active {
    /*        border-right: 1px solid rgba($Black,0.25);*/
    /*        border: 5px solid red!important;*/
    outline: 1px solid #274671;
    z-index: 1; }
    .caCEFTableItem.active .caCEFTableIMenu {
      max-width: 2em;
      display: block;
      border-radius: 3px;
      box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.15);
      position: absolute;
      right: 0px;
      top: 50%;
      z-index: 2;
      transform: translate(100%, -50%);
      background: white;
      font-size: large;
      border: 1px solid gray; }
  .caCEFTableItem.sub-deleted {
    min-height: 30px; }
  .caCEFTableItem .caCEFSubToDelete {
    padding: 0.25em;
    border-left: 1px solid gray; }

.caTDButton[data-wrole="delItem"] {
  color: darkred; }

.caCEFTableItem:hover .mbf-CEtable-row, .caCEFTableItem:active .mbf-CEtable-row {
  background: rgba(0, 0, 0, 0.05); }

.caCEFTableItem:focus .mbf-CEFRowNr {
  color: #274671;
  text-decoration: underline; }

.caCEFTableIBody {
  width: 100%; }

.mbf-CEFRowNr {
  display: inline-block;
  width: 25px;
  font-size: x-small;
  color: rgba(0, 0, 0, 0.64);
  text-align: center;
  overflow: hidden;
  border: 1px solid transparent !important; }

.caCEFPaging {
  background: #f5f4f2;
  position: relative; }
  .caCEFPaging a {
    padding: 0.25em 2em;
    outline: 1px solid #a0b9de;
    /*   background: $CP-100;*/
    margin: 0.2em;
    margin-left: 0.5em; }
  .caCEFPaging .mbf-CEFRowNr {
    display: inline-block;
    /*        background: white;*/ }

.mbf-CEFTableInfo {
  font-size: small;
  color: #7ea0d2;
  padding: 0.25em 1em; }

.mbf-CEtable-row {
  /*background: gold;*/ }

@-moz-document url-prefix() {
  /* http://stackoverflow.com/questions/17408815/fieldset-resizes-wrong-appears-to-have-unremovable-min-width-min-content */
  fieldset {
    display: table-cell; } }

.metabse-form-guid {
  font-size: 8px;
  color: transparent;
  -webkit-touch-callout: unset;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text; }

/*form Renderer*/
a:hover {
  cursor: pointer; }

.isNotValid {
  border-color: red !important;
  background-color: #ffd6d6 !important; }

/* Form Document */
.mbfDocument {
  max-width: 4200px;
  width: 100%;
  margin: 20px 0px 20px 0px;
  max-width: 100%; }

.mbfDocument > form {
  max-width: 100%; }

.mbfWidthColSpacing {
  width: 5em; }

.mbf-pdw-Medium {
  width: 8em; }

.mbf-pdw-Large {
  width: 14em; }

.mbfControlContainer {
  /*display: inline-block;*/
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 5px;
  /*vertical-align: top;*/
  /*min-width: 360px;*/
  display: inline-flex;
  /*align-items: baseline; // problems with IE 11*/
  align-items: flex-start; }
  .mbfControlContainer > label {
    font-weight: normal;
    box-sizing: border-box;
    margin: 6px 5px 5px 5px;
    flex: 0 0 140px;
    color: rgba(0, 0, 0, 0.6); }
  .mbfControlContainer > div {
    flex: 1 1 140px;
    display: inline-block;
    /*height: 100%; // removed since 2018-50-20 -> due to error text*/ }
  .mbfControlContainer.containsEMessage {
    flex-wrap: wrap; }
    .mbfControlContainer.containsEMessage > .controlContainerErrorMsg {
      margin: 0.5em 0;
      width: 100%;
      color: rgba(120, 3, 3, 0.85);
      background: rgba(222, 94, 94, 0.18);
      font-size: small; }
      .mbfControlContainer.containsEMessage > .controlContainerErrorMsg > p {
        margin: 5px 5px 5px 5px; }
  .mbfControlContainer .mbfControl-Message .mbfControl-Message-warn {
    color: rgba(120, 3, 3, 0.85);
    background: rgba(222, 94, 94, 0.18);
    font-size: small; }

.mbfControl {
  vertical-align: top;
  width: 100%; }

/*.mbfControl,*/
/* .mbfControl has no appearence itself -> see .caInput*/
.mandatory, select.mandatory {
  /* todo:mandotory must be reviewed*/ }

/*ca Input replacec mbfControl in the sense, that it marks the input fields for the user*/
.caInput {
  vertical-align: top;
  outline: 0;
  border: 1px solid #d6e7d8;
  background: #e9f2ea;
  /*box-shadow: -20px -20px 50px rgba(0,0,0,.02) inset;*/
  /* Input fields from widget when editable*/
  /* all */
  /* firefox 19+ */
  /* ie */ }
  .caInput input[disabled="disabled"], .caInput input[disabled], .caInput select[disabled],
  .caInput input[readonly="readonly"], .caInput input[readonly],
  .caInput select[readonly] {
    background-color: #e9f2ea; }
  .caInput.mbfTextArea, .caInput.mtbTextEditorContainer {
    border-color: #d6e7d8;
    /*background: lighten($newlay-back,4.5);*/
    /*background: linear-gradient(90deg, white, $newlay-back);*/
    /*background-color: white; //$almostWhite;
            box-shadow: inset -0.5em -0.5em 0 $newlay-back, inset 0.5em 0.5em 0 $newlay-back;                
            padding:0.5em;*/ }
  .caInput input::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.4); }
  .caInput input::-moz-placeholder {
    color: rgba(0, 0, 0, 0.4); }
  .caInput input:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.4); }
  .caInput input:-moz-placeholder {
    color: rgba(0, 0, 0, 0.4); }

/*.caInput:focus,*/
.caInputFocus {
  color: #000000;
  border-color: #3f6fb5;
  box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
  outline: 0; }
  .caInputFocus.mbfTextArea, .caInputFocus.mtbTextEditorContainer {
    border-color: #3f6fb5; }

.mtbTextEditorContainer:focus-within {
  border-color: #3f6fb5;
  box-shadow: 5px 5px 29px rgba(0, 0, 0, 0.1);
  outline: 0; }
  .mtbTextEditorContainer:focus-within.mbfTextArea, .mtbTextEditorContainer:focus-within.mtbTextEditorContainer {
    border-color: #3f6fb5; }

.mbfBinaryControl {
  border-color: #d6e7d8; }

.caInput.inpReadOnly {
  border-color: #ecebe6;
  background: #FAFAFA; }
  .caInput.inpReadOnly input[disabled="disabled"], .caInput.inpReadOnly input[disabled], .caInput.inpReadOnly select[disabled],
  .caInput.inpReadOnly input[readonly="readonly"], .caInput.inpReadOnly input[readonly],
  .caInput.inpReadOnly select[readonly] {
    background-color: #FAFAFA; }
  .caInput.inpReadOnly.dependencyHidden {
    display: none; }
  .caInput.inpReadOnly.mbfTextArea, .caInput.inpReadOnly.mtbTextEditorContainer {
    border-color: #ecebe6;
    background: #FAFAFA; }

.caInput.inpReadOnly.caInputFocus {
  box-shadow: none; }

.caInput.inpReadOnly:focus {
  border-color: #c3c3c3; }

input[disabled="disabled"], input[disabled], select[disabled],
input[readonly="readonly"], input[readonly],
select[readonly] {
  background-color: white; }

/* fieldset das die Control-Gruppen definert*/
.mbfControlGroup {
  min-width: 0;
  vertical-align: top;
  /*margin: 1em 1em 0 0;
    padding: 0.5em 0 0 0;*/
  margin: 0.5em 1em 0 0;
  padding: 0;
  max-width: 100%;
  display: inline-block;
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.mbfControlGroup-0 > .mbfControlGroup-legend {
  /* sticky*/
  position: sticky;
  top: 0px;
  right: 1px;
  background: white;
  padding-right: 1em;
  z-index: 1; }

.mbfControlGroup-legend {
  font-size: medium;
  max-width: 100%;
  display: inline-block;
  color: rgba(0, 0, 0, 0.64); }
  .mbfControlGroup-legend > span {
    max-width: 100%; }
  .mbfControlGroup-legend::before {
    font-size: small;
    color: rgba(0, 0, 0, 0.64);
    padding-right: .5em; }

/* Group Legend Toggling     
    used by customFormEngine & Forms Rendering
*/
.mbfControlGroup.leg-showMore {
  /*&.leg-showMore-closed .mbfControlGroup-body {
       *display: none;
    }*/ }
  .mbfControlGroup.leg-showMore > .mbfControlGroup-legend:hover {
    cursor: pointer;
    background: #ccd9ed; }
  .mbfControlGroup.leg-showMore > .mbfControlGroup-legend::before {
    /*font-family: 'Glyphicons Halflings'; 
            content: "\e114"; // icon*/
    font-family: fontAwesome;
    content: "\f078 "; }
  .mbfControlGroup.leg-showMore.leg-showMore-closed .mbfControlGroup-legend:hover {
    cursor: pointer;
    background: #ccd9ed; }
  .mbfControlGroup.leg-showMore.leg-showMore-closed .mbfControlGroup-legend::before {
    /*font-family: 'Glyphicons Halflings';
            content: "\e080"; //icon glyphicon*/
    font-family: fontAwesome;
    content: "\f054"; }

.SAF_Form.debugg .mbfGrid {
  border: 2px solid blue;
  background: lightblue; }

.SAF_Form.debugg .mbfVerticalStackPanel {
  border: 2px solid red;
  background: linear-gradient(180deg, red 0%, #ee9494 100%); }

.SAF_Form.debugg .mbfHorizontalStackPanel {
  border: 2px solid red;
  background: linear-gradient(90deg, red 0%, #ee9494 100%); }

.SAF_Form.debugg .mbfControlGroup {
  background: orange;
  border: 2px solid #875700; }

.SAF_Form.debugg .mbfControlContainer {
  background: rgba(250, 250, 210, 0.8); }

.SAF_Form.debugg .mbfBR {
  /*outline: 6px dashed green;*/
  /*border: 6px solid white;
        border-radius: 100%;
        content: "";
        box-shadow: 0px 0px 12px $Black;*/ }

/* Column sizes */
/* as original*/
/*.mbf-1-col {
    max-width: 100%;
    width: 360px;
}

.mbf-2-col {
    max-width: 100%;
    width: 760px;
}

.mbf-3-col {
    max-width: 100%;
    width: 1120px;
}*/
.mbfSubFormContainer {
  display: inline-block; }

.mbfGrid {
  /*display: block;*/
  max-width: 100%;
  /* Column sizes */
  /*> .mbfControlContainer > label {
        flex: 0 0 140px;
    }*/ }
  .mbfGrid > .mbfControlGroup {
    min-width: 360px; }
  .mbfGrid > .mbfHorizontalStackPanel,
  .mbfGrid > .mbfVerticalStackPanel,
  .mbfGrid > .mbfControlContainer,
  .mbfGrid > .mbfControlGroup,
  .mbfGrid > .mbfSubFormContainer {
    vertical-align: top;
    margin-right: 1.5em; }
  .mbfGrid > .mbf-1-col {
    width: 360px; }
  .mbfGrid > .mbf-2-col {
    width: calc(720px + 1.5em); }
  .mbfGrid > .mbf-3-col {
    width: calc(1080px + 3em); }

.mbfVerticalStackPanel {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 100%;
  /*> .mbfControlContainer > label {
        flex: 0 0 140px;
    }*/ }
  .mbfVerticalStackPanel.Wide > .mbfHorizontalStackPanel,
  .mbfVerticalStackPanel.Wide > .mbfVerticalStackPanel,
  .mbfVerticalStackPanel.Wide > .mbfControlContainer,
  .mbfVerticalStackPanel.Wide > .mbfControlGroup {
    margin-bottom: 10px; }
  .mbfVerticalStackPanel > .mbf-1-col {
    width: 360px;
    max-width: 100%; }
  .mbfVerticalStackPanel > .mbf-2-col {
    width: 720px;
    max-width: 100%; }
  .mbfVerticalStackPanel > .mbf-3-col {
    width: 1080px;
    max-width: 100%; }

.mbfHorizontalStackPanel {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  /* overwrite label flex due to sizing problems*/ }
  .mbfHorizontalStackPanel.Wide > .mbfHorizontalStackPanel,
  .mbfHorizontalStackPanel.Wide > .mbfVerticalStackPanel,
  .mbfHorizontalStackPanel.Wide > .mbfControlContainer,
  .mbfHorizontalStackPanel.Wide > .mbfControlGroup {
    margin-right: 1.5em; }
    .mbfHorizontalStackPanel.Wide > .mbfHorizontalStackPanel:last-child,
    .mbfHorizontalStackPanel.Wide > .mbfVerticalStackPanel:last-child,
    .mbfHorizontalStackPanel.Wide > .mbfControlContainer:last-child,
    .mbfHorizontalStackPanel.Wide > .mbfControlGroup:last-child {
      margin-right: 0; }
  .mbfHorizontalStackPanel > .mbfControlContainer > label {
    flex: 0 1 140px;
    /* wrapping words, evtl auch allgemein für alle label? */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .mbfHorizontalStackPanel > .mbf-1-col {
    max-width: 360px;
    width: auto; }
  .mbfHorizontalStackPanel > .mbf-2-col {
    max-width: 720px;
    width: auto; }
  .mbfHorizontalStackPanel > .mbf-3-col {
    max-width: 1080px;
    width: auto; }
  .mbfHorizontalStackPanel > .mbfTextBlock {
    /*border: 1px solid red;*/ }
    .mbfHorizontalStackPanel > .mbfTextBlock.mbf-1-col {
      /*max-width: 100%;*/
      width: 360px; }

/* The leading control */
.mbfLeadingContainer {
  max-width: 100%;
  display: inline-flex !important;
  flex-flow: row wrap;
  width: 100%; }

.mbfLeadingContainerItem {
  width: 360px; }

.mbfGrid .mbfLeadingContainerItem {
  width: calc(360px + 1.5em); }

.mbfLeadingContainerPanel {
  /*border: 5px solid orange;*/
  min-width: 360px;
  width: calc(100% - 360px - 1.5em); }

.mbfTabControl {
  border: 1px #000000 solid; }

/* ------------------------------------------------*/
/* CONTROLS */
/* ------------------------------------------------*/
.mbfControlContainer > div.mbfLink {
  /*border: 5px solid red;*/
  display: inline-block;
  flex: auto;
  /*width: 100%;*/ }
  .mbfControlContainer > div.mbfLink a {
    display: inline-block;
    border: 2px solid transparent;
    padding: 5px; }
  .mbfControlContainer > div.mbfLink.asButton a {
    width: 100%;
    padding: 1em;
    background-color: #335a93;
    color: #FFFFFF;
    border: 1px solid transparent; }
    .mbfControlContainer > div.mbfLink.asButton a:hover, .mbfControlContainer > div.mbfLink.asButton a:active, .mbfControlContainer > div.mbfLink.asButton a:focus {
      /*background-color: $CP-700;*/
      border-color: #011d1a;
      box-shadow: 6px 6px 20px rgba(0, 0, 0, 0.3); }

.mbfTextControl {
  flex: auto;
  margin-right: 1.5em; }

.mbfTextArea {
  max-width: 100%;
  /*flex: auto;*/
  resize: none;
  padding: 0.5em; }

.mbfDateControl {
  margin: 0px;
  padding: 0px; }

.mbfDurationEndTime.caInput {
  border-width: 1px;
  border-style: dashed;
  /*position: relative;
        top: -2.4em;
        left: 9.5em;*/
  margin-top: 7px; }

.mbfDurationEndTime.noStartTime {
  display: none; }

.mbfIntControl {
  width: 7em; }

.mbfDecimalControl {
  width: 7em; }

.mbfFloatControl {
  width: 8em; }

.mbfPhoneNumberControl {
  width: 11em; }

.mbfEmailControl {
  width: 11em; }

.mbfUrlControl {
  width: 11em; }

.mbfDrControl {
  vertical-align: top;
  background-color: white;
  max-width: 100%;
  width: 14em;
  padding: 5px;
  transition: 0.5s; }

.mbfBinaryControl {
  position: relative;
  padding: 2px;
  padding-top: 2.1em;
  /*input[type="file"] {
        max-width: 14em;
    }*/ }
  .mbfBinaryControl > img {
    display: block;
    overflow: hidden;
    max-width: 100%;
    margin-bottom: 0.25em; }
  .mbfBinaryControl.imageHidden > img {
    display: none !important; }
  .mbfBinaryControl > .caWFLabel {
    display: block;
    position: absolute;
    left: 2px;
    right: 2px;
    top: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 2px;
    padding-left: 5px;
    /*border: 1px solid lightgray;*/
    /*background: #F5F5F5;*/
    min-height: 1.6em;
    max-height: 2em;
    font-size: small;
    font-weight: normal;
    /*overflow-wrap: break-word; word-wrap was renamed to overflow-wrap... ie doesnt know this*/
    word-wrap: break-word;
    white-space: nowrap;
    margin: 0.25em 0 0.25em 0; }
    .mbfBinaryControl > .caWFLabel.deleteFile .caWFFilenlink {
      text-decoration: line-through;
      color: darkred; }
    .mbfBinaryControl > .caWFLabel .watermark {
      color: rgba(0, 0, 0, 0.4); }
  .mbfBinaryControl .CaFileSelEdit {
    display: block; }
    .mbfBinaryControl .CaFileSelEdit .f-btn {
      font-size: x-small;
      display: inline-block;
      color: #7c7a7a;
      background: #F5F5F5;
      border: none;
      padding: 4px 6px;
      font-weight: normal;
      vertical-align: bottom;
      margin: 0;
      margin-right: 2px; }
      .mbfBinaryControl .CaFileSelEdit .f-btn input[type="checkbox"] {
        margin: 0;
        vertical-align: bottom; }
      .mbfBinaryControl .CaFileSelEdit .f-btn:hover {
        background-color: rgba(0, 0, 0, 0.26);
        color: #000000;
        transition: 0.3s; }
    .mbfBinaryControl .CaFileSelEdit label {
      background: #F5F5F5;
      color: #7c7a7a; }
  .mbfBinaryControl .SAF-FileButton {
    overflow: hidden;
    position: relative; }
  .mbfBinaryControl .SAF-FileButton [type=file] {
    cursor: inherit;
    display: block;
    font-size: 999px;
    filter: alpha(opacity=0);
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0; }

.mbf-FILEBROWSER-SELECT {
  position: relative;
  padding: 2px;
  max-width: 100%;
  min-height: 2em; }
  .mbf-FILEBROWSER-SELECT .mbf-FB-sel {
    display: block;
    margin: 0;
    width: 100%;
    display: inline-block;
    color: rgba(0, 0, 0, 0.6);
    background: #F5F5F5;
    border: none;
    /*border-top: 1px solid lightgray;*/
    padding: 4px 6px;
    font-weight: normal;
    vertical-align: bottom; }
    .mbf-FILEBROWSER-SELECT .mbf-FB-sel:hover {
      background-color: rgba(0, 0, 0, 0.26);
      color: #000000;
      transition: 0.3s; }
  .mbf-FILEBROWSER-SELECT .mbf-FB-DEL {
    font-size: small;
    display: inline-block;
    color: #7c7a7a;
    background: #F5F5F5;
    /*background: transparent;*/
    border: none;
    border-left: 1px solid rgba(0, 0, 0, 0.26);
    border-bottom-left-radius: 1em;
    border-top-left-radius: 1em;
    vertical-align: bottom;
    /*input[type="checkbox"] {
            margin: 0;
            vertical-align: bottom;
        }*/ }
    .mbf-FILEBROWSER-SELECT .mbf-FB-DEL:hover {
      background-color: rgba(0, 0, 0, 0.26);
      color: #000000;
      transition: 0.3s; }
  .mbf-FILEBROWSER-SELECT .mbf-FB-LIST > div {
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0.2em 0em 0.2em 0.25em; }
    .mbf-FILEBROWSER-SELECT .mbf-FB-LIST > div:hover {
      outline: 1px solid lightgray;
      /*box-shadow: 3px 3px 5px rgba(0,0,0,0.3);*/ }
    .mbf-FILEBROWSER-SELECT .mbf-FB-LIST > div > div {
      width: 100%;
      position: relative;
      height: 1.5em; }
      .mbf-FILEBROWSER-SELECT .mbf-FB-LIST > div > div > span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 24px;
        bottom: 0;
        word-wrap: break-word;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden; }
      .mbf-FILEBROWSER-SELECT .mbf-FB-LIST > div > div > button {
        position: absolute;
        right: 0;
        top: 0; }

.mbf-FILEBROWSER-SELECT.inpReadOnly .mbf-FB-DEL {
  display: none; }

.mbfFixedIntControl {
  width: 4em; }

.mbfCheckboxControlLabel {
  width: 100%;
  margin-top: 5px; }

.mbfCheckboxControlLabel > span {
  font-weight: normal;
  margin-left: 5px; }

.mbfCheckboxControlLabel > input {
  transform: scale(1.3);
  max-width: 20px;
  margin-top: 4px; }

.mbfRadioControlList > label {
  margin: 1px;
  margin: 0.1em;
  margin-left: 0.5em;
  display: block; }

.mbfRadioControlList > label > input {
  margin: 0px;
  padding: 0px;
  min-width: 10px; }

.mbfRadioControlList > label > span {
  margin: 0px;
  margin-left: 5px;
  font-weight: normal;
  font-size: small; }

.mbfControlContainer.mbfRadioControlContainerV2 {
  /*display: flex;*/
  /*flex-wrap: nowrap;*/ }
  .mbfControlContainer.mbfRadioControlContainerV2 > label {
    /*flex: 0 0 140px;*/ }
  .mbfControlContainer.mbfRadioControlContainerV2 > div {
    /*flex: 0 1 auto; // was to make it smaller and to scroll?*/
    /*flex: 0 0 calc(100% - 140px);*/
    overflow: auto;
    /*position: relative;
        align-items: baseline ;// | flex-end | center | | stretch flex-start;*/ }
  .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 {
    display: block;
    margin-top: 1px; }
    .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.caInput {
      /*border: none;*/
      /*background: none;*/ }
    .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly {
      min-height: calc(2em + 2px); }
      .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly .mbfRadioControlListV2 button {
        /*border-color: $newlay-only-boc;*/
        background: #FAFAFA;
        display: none; }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly .mbfRadioControlListV2 button:hover {
          border-color: transparent; }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly .mbfRadioControlListV2 button.selected {
          display: inline-block;
          background: rgba(0, 0, 0, 0.64);
          color: rgba(0, 0, 0, 0.84);
          background: transparent; }
          .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly .mbfRadioControlListV2 button.selected > div {
            margin-left: 5px;
            margin-right: 5px; }
          .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2.inpReadOnly .mbfRadioControlListV2 button.selected:before {
            display: none;
            color: rgba(0, 0, 0, 0.6); }
    .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 {
      display: flex;
      flex: 0 0 auto;
      /*flex-direction:column;*/ }
      .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2.mbfVertical {
        flex-direction: column;
        flex-wrap: nowrap; }
      .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2.mbfHorizontal {
        flex-wrap: wrap; }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2.mbfHorizontal button {
          flex: 1 5 80px;
          /*&:first-child {
                        border-top-left-radius: 0.5em;
                        border-bottom-left-radius: 0.5em;
                    }

                    &:last-child {
                        border-top-right-radius: 0.5em;
                        border-bottom-right-radius: 0.5em;
                    }*/ }
      .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button {
        position: relative;
        flex: 1 5 auto;
        border: 1px solid transparent;
        /*background: transparent;*/
        background: #e9f2ea;
        text-align: left;
        min-height: 2em;
        color: rgba(0, 0, 0, 0.6);
        border: 1px solid transparent;
        padding: 0;
        margin: 0;
        /*&:focus {
                    border: 2px solid red !important;
                }*/ }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button > div {
          margin-left: 1.2em;
          overflow: hidden;
          text-overflow: ellipsis; }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button:before {
          position: absolute;
          top: calc(50% - 0.65em);
          left: 0.1em;
          font-family: fontAwesome;
          content: "\f10c";
          transition: 0.5s;
          transform: scale(0.4); }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button:hover, .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button:focus {
          /*box-shadow: 5px 5px 25px rgba(black,0.05) inset;*/
          border-color: rgba(63, 117, 68, 0.5); }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button:focus, .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button:active {
          outline: 1px solid #3f6fb5; }
        .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button.selected {
          /*background: rgba($form-checked-color,0.3);*/
          color: rgba(0, 0, 0, 0.84);
          background: rgba(63, 117, 68, 0.6);
          color: white; }
          .mbfControlContainer.mbfRadioControlContainerV2 .mbfRadioControlV2 .mbfRadioControlListV2 button.selected:before {
            /*color: $form-checked-color;*/
            color: rgba(0, 0, 0, 0.6);
            color: white;
            content: "\f111";
            content: "\f00c";
            transform: scale(0.7); }

/* Pre defined control widths (must be placed after the controls css-declarations)*/
.mbf-iw-xtraSmall {
  width: 4em; }

.mbf-iw-small {
  width: 5em; }

.mbf-iw-medium {
  width: 9em; }

.mbf-iw-large {
  width: 14em; }

/*--------------------------------------------
    QuillEditor
*/
.mtbTextEditorContainer {
  width: 100%;
  white-space: normal; }
  .mtbTextEditorContainer .ql-editor {
    padding: 0em;
    margin: 0.5em; }
  .mtbTextEditorContainer .ql-container.ql-snow {
    border: none; }
  .mtbTextEditorContainer .ql-toolbar.ql-snow {
    border-top: none;
    border-left: none;
    border-right: none;
    background: #FAFAFA; }

/* Read Only*/
.inpReadOnly .ql-container {
  border-top: none !important;
  /*1px solid #ccc!important*/ }

.inpReadOnly .ql-toolbar {
  display: none; }

/* ------------------------------------------ */
/* MEDIA QUERIES */
/* ------------------------------------------ */
@media screen and (max-width: 767px) {
  .mbf-2-col {
    max-width: 100%;
    width: 360px; }
  .mbf-3-col {
    max-width: 100%;
    width: 360px; }
  .mbfTextControl {
    flex: auto;
    margin-right: 0em; }
  .mbfTextArea {
    max-width: 100%;
    flex: auto;
    margin-right: 0em; } }

/* smaller 500 adpat grid*/
.Bw-s500 .mbfHorizontalStackPanel,
.Bw-s500 .mbfVerticalStackPanel,
.Bw-s500 .mbfControlContainer,
.Bw-s500 .mbfControlGroup {
  margin-right: 0 !important; }

/* smaller 400 - or 414 respectively (compare code) */
.Bw-s400 {
  /* orig till 2019-07 /*.mbfControlContainer {
            margin-bottom: 0.5em;
            min-width: 100%; // overrides 360px
            margin-right: 0 !important;
        }
        .mbfControlContainer > label {
            margin-left: 0;
            max-width: 100px !important;
            font-size: 80%;
        }*/
  /*Superkleine Auflösung, Control wird unterhalb des Labels angezeigt*/ }
  .Bw-s400 .mbfControlContainer {
    margin-bottom: 0.5em;
    min-width: 100%;
    margin-right: 0 !important;
    flex-wrap: wrap; }
  .Bw-s400 .mbfControlContainer > label {
    margin-left: 0;
    flex: 0 0 100%; }
  .Bw-s400 .mbf-2-col {
    max-width: 100%;
    width: 360px; }
  .Bw-s400 .mbf-3-col {
    max-width: 100%;
    width: 360px; }
  .Bw-s400 .mbfLeadingContainerPanel {
    width: 100%;
    min-width: 200px; }

/*.Bw-l400 .safDialog {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;

    .xaDialogBodyCSS {
        position: absolute;
        top: 0px;
        left: 0;
        right: 0;
        bottom: 0;
        overflow: auto;
        margin: 0px !important;
    }
}*/
/*
    scss for many of the widgets used in forms
*/
/*Grouping of one Input element*/
.xaGroup {
  position: relative;
  white-space: nowrap;
  display: table;
  padding: 0 !important;
  clear: both; }

.xaRel {
  position: relative; }

/*.xaGroup-item { 
}*/
.xaGroup-inp {
  display: table-cell;
  vertical-align: central;
  width: 100%;
  margin: 0;
  padding: 5px;
  border: 0px solid transparent;
  outline: none; }
  .xaGroup-inp.xaZipInpCSS {
    width: 4em;
    border-right: 1px solid lightgray; }
  .xaGroup-inp.xaCityInpCSS {
    width: calc(100% - 4em); }

.xaGroup-output {
  position: absolute;
  left: 2px;
  right: 1.8em;
  top: 2px;
  bottom: 2px;
  display: table-cell;
  vertical-align: central;
  overflow: hidden;
  margin: 0; }

.InpAlignRight {
  text-align: right; }

input.xaGroup-inp {
  display: inline-block; }

.xaGroup-empty {
  display: table-cell; }

.xaGroup-widget {
  display: table-cell;
  width: 1.8em;
  padding-left: 0.4em;
  border-left: 1px solid lightgray;
  background-color: #F5F5F5;
  color: rgba(0, 0, 0, 0.6);
  margin-right: 5em; }
  .xaGroup-widget:hover {
    background-color: rgba(0, 0, 0, 0.26);
    color: #000000;
    transition: 0.3s;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.3); }

.xaGroup-units {
  display: table-cell;
  max-width: 0px;
  position: relative;
  color: gray;
  font-size: small; }

.xaGroup-units:before {
  content: "\00a0"; }

/*xa elements*/
.xaDependencySelector {
  position: relative; }

.xaProjectSelect {
  position: relative; }

.xaPSInlineContainer {
  /*max-width: 310px;*/
  width: 100%; }

/*Multiselect Selection Window*/
.xaWinMSInline {
  border: 2px solid #FFFFFF;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  overflow: auto; }

.xaScroll {
  overflow: auto;
  max-height: 100%; }

/*project Selection Window*/
.xaWinPSInline {
  position: relative;
  margin: 6px;
  background-color: #FFFFFF;
  width: 100%;
  min-width: 300px;
  min-height: 10em;
  max-height: 30em;
  overflow: auto;
  border: 3px solid rgba(109, 154, 204, 0.46); }

.xaWinPSMenu {
  border-radius: 0;
  box-shadow: rgba(0, 0, 0, 0.3) 8px 8px 12px;
  border: 1px solid #777;
  /*rgba(109, 154, 204, 0.46);*/
  z-index: 20;
  background-color: #FFFFFF; }

.xaPSWinH {
  padding-top: 4px;
  padding-bottom: 3em;
  display: table;
  text-wrap: none; }

.xaPSWinTitel {
  display: table-cell;
  overflow: hidden; }

.xaWinPSCtrl {
  background-color: none;
  display: table-cell;
  text-align: right; }

.xaPSTriangleL {
  position: absolute;
  top: 2px;
  left: -22px;
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-right: 20px solid rgba(44, 119, 186, 0.62); }

.xaWinPSMenuBody {
  border-top: 1px solid #000000;
  color: #000000;
  text-shadow: none;
  font-size: small;
  overflow: auto;
  position: absolute;
  top: 3.5em;
  left: 0;
  right: 0;
  bottom: 44px;
  background-color: #FFFFFF; }

.xaWinPSMenuBody100 {
  margin-top: 2px;
  color: #000000;
  text-shadow: none;
  font-size: small;
  overflow: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 44px;
  background-color: #FFFFFF; }

.xaPSList {
  margin-top: 4px;
  margin-bottom: 4px;
  white-space: normal; }

.xaPSList a:hover {
  background-color: #d7e9fc; }

/* input Filter*/
.xaPSFilter {
  max-width: 13em;
  margin-left: 0.5em;
  margin-right: 0.5em; }

/* Items*/
/* General vor all xItem*/
.xItem.disabled {
  display: none; }

.xItem.disabled.selected {
  display: inline-block; }

/*PS (projectSel)*/
.xaPSItem {
  display: inline-block;
  width: 275px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding-top: 4px;
  padding-bottom: 2px;
  margin-left: 4px;
  border-bottom: 1px solid #ecebe6;
  vertical-align: middle;
  cursor: pointer; }
  .xaPSItem.xaDDown {
    display: block;
    width: auto;
    max-width: 710px; }
  .xaPSItem:hover {
    background-color: rgba(16, 20, 45, 0.2); }
  .xaPSItem:focus {
    background-color: rgba(0, 83, 158, 0.2); }
  .xaPSItem:before {
    /*        font-family: 'Glyphicons Halflings';
        content: "\e095";*/
    font-family: fontAwesome;
    content: "\f064";
    padding-left: 2px;
    padding-right: 0.5em;
    font-size: 90%;
    color: #3f6fb5; }
  .xaPSItem.chooseUnselect {
    color: rgba(0, 0, 0, 0.64); }
    .xaPSItem.chooseUnselect:before {
      color: rgba(0, 0, 0, 0.64);
      content: "\f00d"; }
  .xaPSItem.selected {
    background: #10142d;
    color: #FFFFFF; }
  .xaPSItem.selected:before {
    color: #FFFFFF; }
  .xaPSItem.keySelect {
    border: 2px solid; }

/*ListSel*/
.xaListSelItem.keySelect, .safFormListSelItem.keySelect, .safTableListSelItem.keySelect {
  outline: 3px solid #011d1a; }

/*MultipleSelect*/
/* ==> looks not used 2019-1
      .xaMSItem.keySelect {            
      border: 2px solid;
      border-radius: 5px;
      background-color: transparent;      
  }
    .xaMSItem.keySelect.selected {            
      border: 2px solid;
      border-radius: 5px;
  }*/
/* Item for DRDropdowns*/
.xaPSItem.xaDR {
  display: block;
  width: 95%; }

/*xaDropDownSelector*/
.xaWinDDMenuBody {
  color: #000000;
  text-shadow: none;
  font-size: small;
  overflow: auto;
  height: 100%;
  max-height: 300px;
  background-color: #FFFFFF; }

/*Tables embeded in Dropdowns, the local Menu*/
.xaMenu-TableDropdownCSS {
  position: relative;
  border-bottom: 2px solid #858380;
  padding: 0.5em; }

.xaMenu-TableDropdownCSS input, .xaMenu-TableDropdownCSS a {
  margin-right: 5px; }

.xaMenuBody-TableDropdownCSS {
  font-size: small; }

/* custom Body layouts
    for htmlSelctors
*/
.C-HTMLSel {
  padding: 0.5em; }
  .C-HTMLSel a {
    display: block;
    padding: 0.5em;
    white-space: nowrap; }

/* ---------------*/
/* units */
.unitHour {
  overflow: visible !important; }

.unitHour:after {
  position: relative;
  /*    font-family: 'Glyphicons Halflings';
    content: "\e095";*/
  font-family: fontAwesome;
  content: "\f064";
  text-shadow: 2px 5px 1px rgba(0, 0, 0, 0.3); }

/* xaDateSelector*/
/* -----------------------------------------------------*/
.xa-FlexRow {
  display: flex;
  align-items: baseline; }
  .xa-FlexRow .flexGrow1 {
    flex-grow: 1; }
  .xa-FlexRow .xaCalButton {
    margin-right: 0; }

.xaDateSelectorTable-UI {
  padding-left: 3px;
  display: inline-block;
  line-height: 1.428;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .xaDateSelectorTable-UI .AnimatableContainer {
    width: 252px;
    overflow: hidden;
    /*border: 1px solid red;*/
    position: relative; }
    .xaDateSelectorTable-UI .AnimatableContainer .animatableCopy {
      position: absolute;
      top: 0;
      left: 0; }
  .xaDateSelectorTable-UI .AMC-scrollInLeft {
    animation: AMC-scrollInLeft 0.4s forwards ease-out; }
  .xaDateSelectorTable-UI .AMC-scrollOutLeft {
    animation: AMC-scrollOutLeft 0.4s forwards ease-out; }
  .xaDateSelectorTable-UI .AMC-scrollInRight {
    animation: AMC-scrollInRight 0.4s forwards ease-out; }
  .xaDateSelectorTable-UI .AMC-scrollOutRight {
    animation: AMC-scrollOutRight 0.4s forwards ease-out; }

@keyframes AMC-scrollInLeft {
  from {
    transform: translate(-100%, 0%); }
  to {
    transform: translate(0, 0); } }

@keyframes AMC-scrollOutLeft {
  from {
    transform: translate(0, 0%); }
  to {
    transform: translate(-100%, 0); } }

@keyframes AMC-scrollInRight {
  from {
    transform: translate(100%, 0%); }
  to {
    transform: translate(0, 0); } }

@keyframes AMC-scrollOutRight {
  from {
    transform: translate(0, 0%); }
  to {
    transform: translate(100%, 0); } }

.xaDateSelectorScrollV {
  max-height: 300px;
  overflow: auto; }

.xaDateSelectorTable {
  margin: 5px;
  table-layout: fixed;
  white-space: nowrap;
  font-size: 14px;
  /*    thead {
        color: $CP-50;
        background-color: $CP-500;
        border-bottom: 2px solid $White;
    }*/ }
  .xaDateSelectorTable.tdrows4 td {
    width: 63px; }
  .xaDateSelectorTable.tdrows4 tr {
    height: 64px; }
  .xaDateSelectorTable.tdrows7 td {
    width: 36px; }
    .xaDateSelectorTable.tdrows7 td:first-child {
      background-color: darkgray;
      border: 1px solid darkgray;
      color: rgba(255, 255, 255, 0.8); }
  .xaDateSelectorTable.tdrows7 tr {
    height: 32px; }
  .xaDateSelectorTable.tdrows1 td {
    width: 216px; }
  .xaDateSelectorTable.tdrows1 tr {
    height: 32px; }
  .xaDateSelectorTable td {
    border: 1px solid transparent;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    position: relative;
    /*        &.ISOWeekNumber {
            font-size: small;
            text-align: left;
            color: rgba($Black,0.4);
            border-right: 1px solid rgba($Black,0.25);
        }*/ }
    .xaDateSelectorTable td.outOfRange {
      color: rgba(0, 0, 0, 0.25); }
    .xaDateSelectorTable td.today:after {
      position: absolute;
      top: 2px;
      min-height: 25px;
      /*due to IE bug*/
      left: 2px;
      right: 2px;
      bottom: 2px;
      content: "";
      font-size: 6px;
      border-radius: 40%;
      border-bottom: 2px solid #3f6fb5; }
    .xaDateSelectorTable td.currentYear {
      background: #ccd9ed; }
    .xaDateSelectorTable td.selected {
      background-color: #011d1a;
      color: #FFFFFF; }
    .xaDateSelectorTable td.selCell {
      cursor: pointer; }
      .xaDateSelectorTable td.selCell:hover {
        box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.3);
        outline: 2px solid rgba(63, 111, 181, 0.8); }
    .xaDateSelectorTable td.activeYear {
      font-size: large; }
  .xaDateSelectorTable thead tr td {
    background-color: #3f6fb5;
    border: 1px solid #3f6fb5;
    color: #ccd9ed; }
  .xaDateSelectorTable tbody td {
    /*border: 1px solid $CP-50;*/ }

.xaDateRange-content {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  min-width: 688px;
  overflow: auto; }
  .xaDateRange-content button .glyphicon, .xaDateRange-content button .fa {
    color: rgba(0, 0, 0, 0.84); }
  .xaDateRange-content .xaDateRange-1 {
    margin-bottom: 1em; }
    .xaDateRange-content .xaDateRange-1 .xaDateSelector-AutoText {
      max-width: 180px;
      max-height: 300px;
      overflow-y: auto;
      overflow-x: hidden; }
      .xaDateRange-content .xaDateRange-1 .xaDateSelector-AutoText a {
        /*background: $CP-500;
        color: $CP-50;*/
        border-bottom: 1px solid rgba(0, 0, 0, 0.4); }
      .xaDateRange-content .xaDateRange-1 .xaDateSelector-AutoText h4 {
        font-size: 16px; }
  .xaDateRange-content .xaDateRange-2 {
    text-align: center; }
    .xaDateRange-content .xaDateRange-2 .xaDateSelectorTable-UI {
      padding: 0; }
  .xaDateRange-content .xaDateRange-d2 {
    display: inline-block;
    vertical-align: top; }
    .xaDateRange-content .xaDateRange-d2 .xaDateSelectorTable thead {
      background-color: #274671; }
  .xaDateRange-content .xaDateRange-d1 {
    vertical-align: top;
    display: inline-block; }

/* ql-Editor

*/
.ql-editor {
  -webkit-touch-callout: unset;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text; }

/* 
    Slider Checkbox
*/
.slider-checkbox {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
  /*    &:focus, &:focus-within, &:active {
        border: 5px solid red;
    }*/ }
  .slider-checkbox input {
    margin: 0px;
    margin-top: 1px;
    cursor: pointer;
    opacity: 0;
    width: 0;
    margin-top: 4px;
    z-index: 1;
    background: #FFFFFF; }
    .slider-checkbox input:focus + .slcb_label:after, .slider-checkbox input:active + .slcb_label:after {
      border: 1px solid #3f6fb5;
      background: rgba(255, 255, 255, 0.8); }
    .slider-checkbox input + .slcb_label .slcb_unchecked {
      display: inline-block; }
    .slider-checkbox input + .slcb_label .slcb_checked {
      display: none; }
    .slider-checkbox input:checked + .slcb_label .slcb_unchecked {
      display: none; }
    .slider-checkbox input:checked + .slcb_label .slcb_checked {
      display: inline-block; }
    .slider-checkbox input.inpReadOnly + .slcb_label:after {
      opacity: 0.5; }
    .slider-checkbox input.inpReadOnly + .slcb_label:before {
      background-color: #EEE;
      color: rgba(0, 0, 0, 0.6); }
    .slider-checkbox input.inpReadOnly:checked + .slcb_label:before {
      background-color: #EEE; }
    .slider-checkbox input:checked + .slcb_label:before {
      background-color: rgba(63, 117, 68, 0.6);
      content: "\f00c";
      /*content: "\e013"; glyphicon*/
      padding-left: 6px;
      text-align: left; }
    .slider-checkbox input:checked + .slcb_label:after {
      left: 21px; }
  .slider-checkbox .slcb_label {
    /*font-size: 14px; till 8.7.2018 -> Adrian*/
    font-size: inherit;
    line-height: 1.42857143;
    height: 20px;
    position: relative;
    padding-left: 46px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: normal; }
    .slider-checkbox .slcb_label:before, .slider-checkbox .slcb_label:after {
      position: absolute;
      border-radius: 10px;
      transition: background-color 0.3s, left 0.3s; }
    .slider-checkbox .slcb_label:before {
      color: #FFFFFF;
      box-sizing: border-box;
      /*font-family: 'Glyphicons Halflings';*/
      /*content: "\e014";*/
      font-family: fontAwesome;
      content: "\f00d";
      padding-left: 23px;
      font-size: 12px;
      line-height: 20px;
      background-color: rgba(0, 0, 0, 0.5);
      left: 0px;
      top: 0px;
      height: 20px;
      width: 40px;
      border-radius: 10px; }
    .slider-checkbox .slcb_label:after {
      content: "";
      letter-spacing: 20px;
      background: #FFFFFF;
      left: 1px;
      top: 1px;
      height: 18px;
      width: 18px; }

/* general settings*/
a {
  -webkit-user-drag: none;
  user-drag: none; }

/* getting rid of firefox focus*/
a:hover, a:active, a:focus, a:link, a:visited {
  outline: 0;
  outline-style: none; }

div:hover, div:active, div:focus, div:link, div:visited {
  outline: 0;
  outline-style: none; }

button, object, embed {
  outline: 0; }

/* used by xaDialog*/
/*tabulator positioning*/
.firstTab {
  position: absolute;
  color: transparent;
  background-color: transparent;
  border: none; }

.lastTab {
  border: none;
  width: 0;
  height: 0; }

/* xaDialog*/
.xaDialogBodyCSS {
  border: solid 0.5px rgba(43, 42, 41, 0.25);
  border-radius: 1px;
  padding: 2px;
  background: #FFFFFF;
  /* min-width--> compare metabseForms (superkleine Auflösung)*/
  min-width: 372px; }

/*.xaDialogBodyCSS {
    // min height calculation to fill out window
    min-height: calc(var(--xaWinBody-height) - 1px); // new 2019-11 calculate min height by var // 1px is border
}*/
/* Change Body Margins for wideer Windows*/
.Bw-l500 {
  /*// adapt size for DialogBody ==> no sense since xaMenuScope smaller :-(
    .xaDialogBodyCSS {     
        min-height: calc(var(--xaWinBody-height) - 33px); // new 2019-11 calculate min height by var // 2x16px marg1px is border
    }*/ }
  .Bw-l500 .xaDialogBodyCSS {
    margin: 16px; }

/*.xaMenuScope {border: 2px solid red!important;}*/
/* larger 400*/
.Bw-l400 .tab-content {
  padding: 1em 0em 1em 1em;
  /*border-color: blue;*/ }

.Bw-l400 .xaDialogBodyCSS {
  padding: 12px; }

/*xa System*/
/* common Layout  */
.fixedFullScreen {
  position: fixed;
  top: 0px;
  left: 0px;
  bottom: 0px;
  right: 0px; }

.absolutePartialScreen {
  position: absolute;
  bottom: 60px;
  top: 0px;
  left: 0px;
  right: 0px;
  /*min-width: 500px;*/ }

.absoluteFullScreen {
  position: absolute;
  bottom: 0px;
  top: 0px;
  left: 0px;
  right: 0; }

#xaSystemScreen {
  position: absolute;
  overflow: hidden;
  bottom: 0px;
  height: 100%;
  border: 0px solid green;
  top: 0;
  left: 0;
  height: 0;
  width: 0; }

#xaSysUserNotes {
  position: fixed;
  bottom: 64px;
  right: 0;
  max-width: 220px;
  display: flex;
  flex-direction: column; }

.xaUserNoteItem {
  border: 0px solid rgba(211, 202, 128, 0.6);
  border-left-width: 8px;
  margin: 0.2em;
  border-radius: 0em;
  padding: 0.8em;
  background: #f7f1bd;
  color: #796e10;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6); }

.xaUserNoteItem.noteOk {
  border-color: #39b54e; }

.xaUserNoteItem.noteFail {
  border-color: #be4b18; }

.xaUserNoteItem.animStart {
  animation: noteInAnim 1s forwards; }

.xaUserNoteItem.animEnd {
  animation: noteOutAnim 1.5s forwards; }

@keyframes noteInAnim {
  from {
    transform: translateX(100%); }
  to { } }

@keyframes noteOutAnim {
  from { }
  to {
    opacity: 0;
    /*transform: translateX(+500%);*/ } }

.overflowAuto {
  overflow: auto; }

.overflowHidden {
  overflow: hidden; }

.createAXaWindow, .SAFRAN-PAGE-CONTENT {
  display: none; }

#xaSpinner {
  position: fixed;
  bottom: 4px;
  right: 4px;
  z-index: 2000;
  display: none; }

#xaSpinner.spinning {
  display: block; }

/* ListSelector*/
.xaListSel {
  color: #000000; }

.xaListSelItem, .safFormListSelItem {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 150px;
  margin: 3px;
  padding: 4px;
  border: 1px solid #000000;
  vertical-align: middle;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaListSelItem {
  background-color: #FFFFFF;
  color: rgba(0, 0, 0, 0.84); }
  .xaListSelItem::before {
    padding-right: 0.5em;
    /*font-family: 'Glyphicons Halflings';
        content: "\e157";*/
    font-family: FontAwesome;
    content: "\f096"; }
  .xaListSelItem:hover {
    border-color: #3f6fb5; }
  .xaListSelItem.selected.disabled {
    background: #FFFFFF;
    border-color: #e3e3e3;
    color: rgba(255, 255, 255, 0.6); }
  .xaListSelItem.selected.disabled:hover {
    background: #FFFFFF;
    cursor: auto; }
  .xaListSelItem.selected {
    background-color: #3f6fb5;
    color: rgba(255, 255, 255, 0.84); }
    .xaListSelItem.selected::before {
      content: "\f14a";
      /*content: "\f046"; // FontAwsome*/ }

.safFormListSelItem, .safTableListSelItem {
  background-color: #FFFFFF;
  color: rgba(0, 0, 0, 0.84);
  border-width: 1px; }
  .safFormListSelItem::before, .safTableListSelItem::before {
    padding-right: 0.5em;
    font-family: FontAwesome;
    content: "\f096"; }
  .safFormListSelItem:hover, .safTableListSelItem:hover {
    border-color: rgba(63, 117, 68, 0.6);
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); }
  .safFormListSelItem.selected.disabled, .safTableListSelItem.selected.disabled {
    border-color: #e3e3e3;
    background-color: rgba(63, 117, 68, 0.8);
    color: white; }
    .safFormListSelItem.selected.disabled:hover, .safTableListSelItem.selected.disabled:hover {
      background-color: rgba(63, 117, 68, 0.8);
      cursor: auto;
      box-shadow: none; }
  .safFormListSelItem.selected, .safTableListSelItem.selected {
    background-color: rgba(63, 117, 68, 0.6);
    color: white; }
    .safFormListSelItem.selected::before, .safTableListSelItem.selected::before {
      content: "\f14a"; }

.safTableListSelItem {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  width: auto;
  margin: 3px;
  padding: 4px;
  border: 1px solid #000000;
  vertical-align: middle;
  cursor: pointer;
  /*
    @include disable-select();*/
  background-color: #FFFFFF;
  color: rgba(0, 0, 0, 0.84);
  border-width: 1px; }
  .safTableListSelItem::before {
    padding-right: 0.5em;
    font-family: FontAwesome;
    content: "\f096"; }
  .safTableListSelItem:hover {
    border-color: rgba(63, 117, 68, 0.6);
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); }
  .safTableListSelItem.selected.disabled {
    border-color: #e3e3e3;
    background-color: rgba(63, 117, 68, 0.8);
    color: white; }
    .safTableListSelItem.selected.disabled:hover {
      background-color: rgba(63, 117, 68, 0.8);
      cursor: auto;
      box-shadow: none; }
  .safTableListSelItem.selected {
    background-color: rgba(63, 117, 68, 0.6);
    color: white; }
    .safTableListSelItem.selected::before {
      content: "\f14a"; }

.xaListSelUI {
  display: inline-block;
  min-width: 4em;
  margin: 3px;
  vertical-align: middle; }
  .xaListSelUI a {
    border: 1px solid transparent;
    margin-left: 0.25em;
    color: black;
    padding: 4px; }
  .xaListSelUI a:hover {
    border-color: #011d1a; }

/*List Select in Tables*/
.TRselectRows .xaListSelItem {
  width: auto;
  padding: 0;
  padding-left: 0.5em;
  padding-right: 0.5em;
  margin-right: 0; }

/* Win configuration*/
.xaWinToolBar {
  /*position:relative;   
  background-color:white;  
  float: left;
  width: 200px;*/
  /*neu*/ }

.xaWinToolBar.isSmall {
  float: none;
  position: relative;
  width: auto;
  height: 29px;
  /*border: 1px solid black;*/
  min-height: 0px;
  overflow: hidden;
  max-width: 200px; }

.xaWinToolBarB {
  padding: 2px;
  overflow: auto; }

.xaWinTools {
  position: relative;
  font-size: small;
  border: 5px solid #FFFFFF;
  overflow: hidden; }

.xaWinTools.isSmall {
  position: relative;
  height: 29px;
  margin-bottom: 5px;
  border: 1px solid black;
  min-height: 0px;
  max-width: 200px; }

/*.xaWinTools.isSmall .xaWinBody { display: none; }
.xaWinTools.isSmall .xaWinHeader > div { font-size: 8px; max-width: 30px;  }*/
.xaWinBLsel {
  padding: 0px;
  overflow: auto;
  max-height: 600px;
  height: auto;
  background-color: white; }

/* xa System Containers and stuff*/
.contLeft {
  float: left;
  width: 185px;
  border: 1px dashed grey;
  /*display: none;*/ }

.ToolTop {
  border: 2px solid red;
  width: 100%; }

.xaSaveInProg {
  cursor: progress; }

.xaSaveInProg:before {
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  display: inline-block;
  border: 3px solid rgba(39, 70, 113, 0.8);
  border-top: 3px solid rgba(194, 210, 234, 0.8);
  border-radius: 100%;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.2);
  animation: saveInProgAnim 1.4s infinite linear; }

@keyframes saveInProgAnim {
  from {
    transform: scale(1, 1) rotate(0deg); }
  50% {
    transform: scale(1.5, 1.5) rotate(180deg); }
  to {
    transform: scale(1, 1) rotate(360deg); } }

.loaderFadein {
  animation: loaderFadeIn 5s; }

@keyframes loaderFadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* loader 
    - ring
*/
.loader,
.loader:after {
  border-radius: 50%;
  width: 4em;
  height: 4em; }

.loader {
  margin: 0px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 0.7em solid rgba(63, 111, 181, 0.2);
  border-right: 0.7em solid rgba(63, 111, 181, 0.2);
  border-bottom: 0.7em solid rgba(63, 111, 181, 0.2);
  border-left: 0.7em solid #3f6fb5;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.4s infinite linear;
  animation: load8 1.4s infinite linear; }

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

#xaPointer {
  position: fixed;
  margin-top: -16px;
  margin-left: -16px;
  top: 0px;
  left: 0px;
  border: 5px solid rgba(0, 128, 0, 0.3);
  overflow: hidden;
  max-height: 300px;
  max-width: 300px;
  touch-action: none;
  background-color: rgba(251, 240, 219, 0.72);
  border: 5px solid orange;
  border-radius: 12px;
  z-index: 50000;
  /* Disable text selection highlighting. */
  /*-webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;*/ }

#xaPointer .xaPointer-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

#xaPointer * {
  cursor: grabbing !important;
  cursor: -moz-grabbing !important;
  cursor: -webkit-grabbing !important; }

/* Drag & Drop*/
.userNoSelect {
  /* Disable text selection highlighting. */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*.userNoSelect * {
    cursor: no-drop!important;
}*/
.xaDragIcon {
  width: 20px;
  height: 20px;
  margin-top: 3px;
  background-color: #e2e2e2;
  border-radius: 2px;
  display: inline-block;
  cursor: move;
  /* fallback if grab cursor is unsupported */
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaDragIcon:before {
  content: '.';
  position: relative;
  left: 2px;
  top: -12px;
  font-size: 20px;
  line-height: 20px;
  color: #777;
  text-shadow: 0 5px #777, 0 10px #777, 5px 0 #777, 5px 5px #777, 5px 10px #777, 10px 0 #777, 10px 5px #777, 10px 10px #777; }

/*.XADropfield * {    
    cursor: grabbing!important;
    cursor: -moz-grabbing!important;
    cursor: -webkit-grabbing!important;
}*/
/*IconLibrary*/
.fa.composite {
  position: relative;
  bottom: -0.4em;
  width: 0.4em;
  /*color: red;*/
  font-size: 66%;
  text-shadow: 2px -2px 3px rgba(0, 0, 0, 0.5); }

/* System - UI*/
.xaClickAway {
  /*background: lightblue;*/
  border: 1px dotted rgba(0, 0, 0, 0.5);
  margin: 0.5em 0;
  padding: 0.5em; }
  .xaClickAway .xaClickAwayBtn {
    border: 1px solid black;
    border-radius: 2px;
    background: transparent;
    float: right;
    font-size: smaller; }
    .xaClickAway .xaClickAwayBtn:hover {
      background: black;
      color: #FFFFFF; }

.xaClickAway.message-information {
  background: #e7f2e5; }

/*Standard Rendering */
.xaStdMetaDataItem {
  margin-top: 0.5em;
  margin-bottom: 0.5em; }
  .xaStdMetaDataItem td:nth-child(1) {
    padding-right: 12px;
    font-size: x-small;
    color: #5c87c6;
    text-align: right; }
  .xaStdMetaDataItem tbody tr:nth-child(even) {
    background-color: #FFFFFF;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04); }
  .xaStdMetaDataItem tbody tr:nth-child(odd) {
    background: #fdfdfd;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04); }

/* Apps -Icons */
.xaAppIcon {
  vertical-align: top;
  display: inline-block;
  padding: 4px;
  width: 96px;
  border-radius: 12px;
  /*max-height:92px;*/ }
  .xaAppIcon img {
    margin-left: 12px;
    width: 64px; }
  .xaAppIcon:hover {
    background-color: rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.5);
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.5));
    transition: 0.3s; }
  .xaAppIcon .appCaption {
    text-align: center;
    width: 100%;
    display: inline-block;
    overflow: hidden;
    /*white-space: nowrap;*/
    text-overflow: ellipsis;
    font-size: 12px;
    max-height: 3.5em;
    padding-bottom: 4px;
    line-height: 1.1;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75); }

.drag-dropOver {
  box-shadow: 0px 0px 25px #ebb127;
  outline: dashed 1px rgba(0, 0, 0, 0.24);
  transition: 0.3s;
  transform: scale(0.99);
  /*&::before { // just a smile
            position: absolute;
            top: 0;
            left: 0;
            content: "Drop files here";
            color: rgba(0,0,0,0.25);
            background: rgba(255,255,255,0.5);
            font-size: 40px;
        }*/ }

/* Toolbar - Menu */
/*$CN-active: $CP-800;
$CN-open: $CP-700;*/
/*$CN-active: #20658b;*/
/*$CN-open: darken($CN-active,4);*/
.xaMenuGeneralCSS {
  background: #2f4c69 !important; }

/*.xaWinB4 {
    border: 6px solid $startbutton-active-bg;

}*/
#xa-blackscreen {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 1039;
  background-color: rgba(50, 0, 0, 0.05);
  background-color: rgba(52, 33, 33, 0.5); }

#xa-modalBackground {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 10000;
  background-color: rgba(0, 0, 0, 0.5); }

.svgIcon {
  display: inline-block;
  /*position: relative; removed 2020-1*/
  height: 1em; }

/* startbutton /*/
.saf-vertical {
  /*filter: brightness(0.8);
    transition: filter 0.5s;

    &:hover, &:active, &:focus {

        filter: brightness(1);
    }*/ }
    .saf-vertical .xataskBarItem.xa-active, .saf-vertical .xataskBarItem.xa-expanded {
        z-index: 1;
        box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.2), 0px -15px 25px rgba(0, 0, 0, 0.2); 
    }
   .saf-vertical .xa-startbutton.xa-compact {
    width: 72px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.84);
    background: #192838;
    overflow: hidden;
    padding-top: 0.25em;
    padding-bottom: .5em;
    text-align: center; }
    .saf-vertical .xa-startbutton.xa-compact .xa-icon {
      font-size: 26px;
      display: block;
      color: rgba(255, 255, 255, 0.84); }
    .saf-vertical .xa-startbutton.xa-compact .xa-label {
      display: block;
      font-size: 10px;
      opacity: 0.64;
      position: relative; }
    .saf-vertical .xa-startbutton.xa-compact:hover {
      background-color: rgba(194, 210, 234, 0.3);
      box-shadow: 5px -3px 5px rgba(0, 0, 0, 0.1); }
      .saf-vertical .xa-startbutton.xa-compact:hover .xa-label {
        text-shadow: 1px 1px 5px rgba(255, 255, 255, 0.2);
        opacity: 1; }
    .saf-vertical .xa-startbutton.xa-compact.xa-open {
      background: #3a5e82;
      box-shadow: 5px -3px 5px rgba(0, 0, 0, 0.1); }
    .saf-vertical .xa-startbutton.xa-compact.xa-active, .saf-vertical .xa-startbutton.xa-compact.xa-expanded {
      /*border-top-left-radius: 8px;
            border-bottom-left-radius: 8px;*/
      background: #3a5e82;
      border: 1px solid rgba(255, 255, 255, 0.84);
      border-left: none;
      border-right: none;
      /*&:hover {
            background-color: $CN-600;
        }*/ }
      .saf-vertical .xa-startbutton.xa-compact.xa-active .xa-icon, .saf-vertical .xa-startbutton.xa-compact.xa-expanded .xa-icon {
        color: white; }
    .saf-vertical .xa-startbutton.xa-compact.xa-disabled {
      color: rgba(236, 235, 230, 0.2); }
      .saf-vertical .xa-startbutton.xa-compact.xa-disabled .xa-icon {
        color: rgba(236, 235, 230, 0.2); }
    .saf-vertical .xa-startbutton.xa-compact .svgIcon {
      font-size: 18px;
      left: -6px; }

/* startbutton /*/
/*.xa-startbutton.xa-compact-horiz {

    width: auto; //48px;
    cursor: pointer;
    text-align: center;
    background: $startbutton-background;
    color: $startbutton-i-color;
    overflow: hidden;
    height: 44px;


    .xa-icon {
        font-size: 20px;
        display: block;
        color: $startbutton-i-color;

        img {
            height: 1em;
        }
    }

    .xa-label {
        display: block;
        font-size: 9px;
        opacity: 0.54;
        position: relative;
    }

    &:hover {
        background-color: $startbutton-hover-background;
        box-shadow: 5px -3px 5px rgba(0, 0, 0, 0.1);

        .xa-label {
            text-shadow: 1px 1px 5px rgba(white,0.2);
            opacity: 1;
        }
    }

    border-right: 3px solid transparent;

    &.xa-open {
        background: $startbutton-open-background;
        box-shadow: 5px -3px 5px rgba(0, 0, 0, 0.1);

    }

    &.xa-active, &.xa-expanded {
        background: $startbutton-epxanded-bg;
        box-shadow: 5px -3px 5px rgba(0, 0, 0, 0.1), -5px 5px 20px rgba(white,0.1) inset;
        border-left: 3px solid white;
        i {
            color: $startbutton-active-i-color;

            text-shadow: 3px 3px 3px rgba($Black, 0.3);
        }



        &:hover {
            i {
                color: $White;
            }

            background-color: $CN-600;
        }
    }

    &.xa-disabled {
        color: rgba($startbutton-active-i-color,0.2);

        & i {
            color: rgba($startbutton-active-i-color,0.2);
        }
    }

    .svgIcon {
        
        top: 4px;
    }
}*/
/* startbutton /*/
.saf-horizontal {
  background: #1a1a1a; }
  .saf-horizontal .xataskBarItem {
    margin-top: 2px;
    height: 28px;
    border-right: 1px solid rgba(78, 127, 176, 0.5);
    border-top: 1px solid transparent;
    background: black; }
  .saf-horizontal .xataskBarItem.xa-active, .saf-horizontal .xataskBarItem.xa-expanded {
    height: 30px;
    border-top: 1px solid #4e7fb0;
    border-left: 1px solid #4e7fb0;
    border-bottom: none;
    background: #2f4c69;
    z-index: 1;
    box-shadow: 20px 0px 34px rgba(0, 0, 0, 0.6), 3px -3px 6px rgba(0, 0, 0, 0.3); }
    .saf-horizontal .xataskBarItem.xa-active:first-child, .saf-horizontal .xataskBarItem.xa-expanded:first-child {
      border-left: none; }
    .saf-horizontal .xataskBarItem.xa-active .xa-icon, .saf-horizontal .xataskBarItem.xa-expanded .xa-icon {
      transform: scale(1.1); }
  .saf-horizontal .xa-startbutton.xa-linear {
    overflow: hidden;
    height: 100%;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.64);
    background: #192838;
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap;
    padding-top: 0.3em;
    padding-bottom: 0.2em;
    /*.xa-startmenu-hasNotifications {
        position: absolute;
        display: inline-block;
        font-size: 14px;
        line-height: 1;
        top: 9px;
        left: 58px;
        color: rgba(255, 78, 0,0.84);
    }*/ }
    .saf-horizontal .xa-startbutton.xa-linear .xa-label {
      flex: 0 1 auto;
      text-overflow: ellipsis;
      overflow: hidden; }
    .saf-horizontal .xa-startbutton.xa-linear .xa-icon {
      flex: 0 1 auto;
      text-align: center;
      color: rgba(255, 255, 255, 0.84);
      padding-left: 0.3em;
      padding-right: 0.3em; }
      .saf-horizontal .xa-startbutton.xa-linear .xa-icon img {
        height: 1em; }
    .saf-horizontal .xa-startbutton.xa-linear:hover {
      background-color: rgba(194, 210, 234, 0.3); }
      .saf-horizontal .xa-startbutton.xa-linear:hover .xa-label {
        text-shadow: 1px 1px 5px rgba(255, 255, 255, 0.2);
        opacity: 1; }
      .saf-horizontal .xa-startbutton.xa-linear:hover.acType-submenu:before {
        color: white; }
    .saf-horizontal .xa-startbutton.xa-linear.xa-active, .saf-horizontal .xa-startbutton.xa-linear.xa-expanded {
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
      background: transparent;
      text-decoration: underline; }
    .saf-horizontal .xa-startbutton.xa-linear.acType-newDialog .xa-label {
      color: rgba(220, 234, 222, 0.84); }
    .saf-horizontal .xa-startbutton.xa-linear.acType-newDialog .xa-icon {
      margin-right: 0.25em;
      background: #416344;
      color: rgba(220, 234, 222, 0.84); }
    .saf-horizontal .xa-startbutton.xa-linear.acType-submenu:before {
      font-family: fontAwesome;
      content: "\f0da";
      color: #e0ab69;
      padding-left: 0.5em;
      padding-top: 0em; }
    .saf-horizontal .xa-startbutton.xa-linear.xa-open {
      background: #3a5e82; }
      .saf-horizontal .xa-startbutton.xa-linear.xa-open.acType-submenu:before {
        content: "\f0d7";
        text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
        color: white; }
    .saf-horizontal .xa-startbutton.xa-linear.xa-disabled {
      color: rgba(236, 235, 230, 0.2); }
      .saf-horizontal .xa-startbutton.xa-linear.xa-disabled i {
        color: rgba(236, 235, 230, 0.2); }
    .saf-horizontal .xa-startbutton.xa-linear .svgIcon {
      font-size: 18px;
      left: -6px; }

html {
  --scrollbarBG: #192838;
  --thumbBG: #cbc5be; }

.xa-startmenucentercontainer, .XCONTAINER-SCROLL, .xa-navPanel, .saf-nav-fullsizescroll,
.custom-light-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: var(--thumbBG) var(--scrollbarBG); }
  .xa-startmenucentercontainer::-webkit-scrollbar, .XCONTAINER-SCROLL::-webkit-scrollbar, .xa-navPanel::-webkit-scrollbar, .saf-nav-fullsizescroll::-webkit-scrollbar,
  .custom-light-scrollbar::-webkit-scrollbar {
    width: 11px; }
  .xa-startmenucentercontainer::-webkit-scrollbar-track, .XCONTAINER-SCROLL::-webkit-scrollbar-track, .xa-navPanel::-webkit-scrollbar-track, .saf-nav-fullsizescroll::-webkit-scrollbar-track,
  .custom-light-scrollbar::-webkit-scrollbar-track {
    background: var(--scrollbarBG); }
  .xa-startmenucentercontainer::-webkit-scrollbar-thumb, .XCONTAINER-SCROLL::-webkit-scrollbar-thumb, .xa-navPanel::-webkit-scrollbar-thumb, .saf-nav-fullsizescroll::-webkit-scrollbar-thumb,
  .custom-light-scrollbar::-webkit-scrollbar-thumb {
    background-color: var(--thumbBG);
    border-radius: 5px;
    border: 2px solid var(--scrollbarBG); }

/* --------------- start menu ----------------*/
/*Instead of: is to invasive (embeded calendar)*/
/*
   
    .xa-startmenu, .xa-startmenu a, .xa-startmenu a:visited {
    color: $startMenu-link;    
    .xa-startmenu a:hover {
    color: $startMenu-link-hover;
}
}*/
/*new Links*/
.xa-startmenuheader a, .xa-startmenuheader a:visited {
  color: rgba(204, 217, 237, 0.84); }

.xa-startmenuheader a:hover {
  color: #ccd9ed; }

/* startmenu - List css*/
.xmenulist {
  position: relative;
  font-size: 13px;
  padding-left: 0.75em;
  padding-right: 0.5em; }
  .xmenulist li {
    list-style: none; }
  .xmenulist ul {
    padding-left: 0; }
  .xmenulist .nav-Separator {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.54);
    margin: 0.3em;
    height: 0; }

.xML-cbody > ul li:last-child {
  /*padding-bottom: 0.5em; Last child in List has padding*/ }

/*menu container*/
.xML-cbody {
  position: relative; }

.xaSizingCont {
  position: relative;
  transition: height 0.5s;
  padding-left: .75em; }

.xML-i, .xML-head {
  display: block;
  padding: 0.1em;
  padding-left: 0em;
  color: rgba(204, 217, 237, 0.84); }
  .xML-i:hover, .xML-head:hover {
    color: #ccd9ed;
    background: rgba(160, 185, 222, 0.5);
    cursor: pointer; }
  .xML-i i, .xML-head i {
    color: white; }

.xML-head {
  padding: 0.5em; }

.xML-i a, .xML-i a:visited {
  color: rgba(204, 217, 237, 0.84); }

.xML-i a:hover {
  color: #ccd9ed; }

.xML-i > a {
  display: inline-block;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  padding-right: 0.5em; }

.xML-i.disabled {
  cursor: default;
  color: rgba(204, 217, 237, 0.2); }
  .xML-i.disabled i {
    color: rgba(255, 255, 255, 0.2); }
  .xML-i.disabled:hover {
    background: transparent; }

.xML-cont {
  position: relative; }
  .xML-cont > .xML-head::before {
    /*z-index: 1; removed v1.6.1*/
    /*font-family: 'Glyphicons Halflings';
        content: "\e113";*/
    font-family: fontAwesome;
    content: "\f0d7";
    color: #c2d2ea;
    position: absolute;
    left: -1em; }
  .xML-cont :hover:before {
    transform: scale(1.3); }
  .xML-cont.collapsed > .xML-head::before {
    content: "\f0da";
    color: #a0b9de;
    left: -0.9em; }
  .xML-cont.collapsed > .xaSizingCont {
    display: none; }
  .xML-cont > .xaSizingCont {
    /*animation-duration: 0.2s;
        animation-timing-function: ease-in;
        animation-name: sizingCont-open;*/ }
  .xML-cont > .xML-sideline {
    position: absolute;
    top: 2em;
    left: -0.75em;
    bottom: 0;
    width: 5px;
    border-left: 1px dashed rgba(255, 255, 255, 0.2);
    border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
    border-bottom-left-radius: 12px;
    /*box-shadow: -1px 2px 1px rgba(gray,0.5);*/ }
  .xML-cont.collapsed > .xML-sideline {
    display: none; }

@keyframes sizingCont-open {
  from {
    opacity: 0.5;
    /*transform-origin: top center;
        transform: translate(0,0) rotate3d(1,0,0,90deg);*/ }
  to {
    opacity: 1; } }

/*Startmenu header and container*/
.xa-startmenuheader {
  display: block;
  text-align: center;
  padding: 1em;
  width: 100%;
  margin-right: 20px;
  /*border-bottom: solid 3px #999;*/ }

.xa-startmenuheader img {
  margin-left: 2em; }

.xa-startmenuheader a {
  display: inline-block;
  height: 1.5em; }

.xa-startmenucentercontainer {
  overflow: auto;
  position: relative;
  width: 100%;
  max-height: 600px;
  background-color: #243a51;
  margin-top: 6px;
  display: inline-block;
  vertical-align: top; }

.xa-startmenuleft {
  margin: 6px;
  margin-top: 0;
  border: 1px solid rgba(63, 111, 181, 0.1);
  background: #2f4c69;
  width: 280px;
  display: inline-block;
  /*vertical-align: bottom; 2020-1*/
  vertical-align: top;
  box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.15); }

.xa-startmenuright {
  margin: 8px;
  position: relative;
  display: inline-block;
  background-color: #243a51;
  width: 280px;
  overflow-y: visible;
  vertical-align: top; }

.xa-startmenufooter {
  clear: both;
  display: block;
  background-color: #243a51;
  /*border-top: solid #999;*/
  clear: both;
  padding: 5px;
  margin-right: 18px;
  overflow: hidden; }

.xa-startmenufooter input {
  max-width: none; }

/*dynamics*/
.xa-startmenu.dynamic {
  width: 620px; }

.xa-startmenu.dynamic.sm-start {
  max-width: 620px; }

.xa-startmenu.dynamic.sm-time {
  max-width: 920px; }

.xa-startmenu.sm-time {
  left: -50px; }

.xa-startmenu.sm-norm {
  /*left: -50px;*/ }

@media screen and (max-width: 610px) {
  .xa-startmenu.dynamic {
    width: 320px; } }

@media screen and (min-width: 930px) {
  .xa-startmenu.dynamic {
    width: 920px; } }

@media screen and (min-width: 1250px) {
  .xa-startmenu.dynamic {
    width: 1230px; } }

/*@media print {
    .xa-footer, .xa-starmenu, .xa-startmenu * {
        display: none !important;
    }
}*/
/* -------------menu Bar -------------------------*/
/*.xa-footer {
    display: none
}*/
/*.xaRelPoint {
    position: absolute;
    width: 0px;
    height: 0px;
    top: 0;
    left: 0;
}*/
.taskBarContainer {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }
  .taskBarContainer::-webkit-scrollbar {
    width: 0px;
    display: none; }

.taskBarHolder {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow: hidden;
  /*border: 5px solid red;*/
  /*> .taskBarContainer {
        border:3px solid green !important;
    }*/ }
  .taskBarHolder.saf-vertical {
    /*height: 100%;*/
    height: 100%;
    max-height: 100%; }
    .taskBarHolder.saf-vertical > .taskBarContainer {
      overflow-y: scroll;
      flex-direction: column;
      flex: 1 1 auto;
      justify-content: flex-start;
      width: calc(100% + 24px); }
      .taskBarHolder.saf-vertical > .taskBarContainer:first-child {
        flex: 0 0 auto; }
      .taskBarHolder.saf-vertical > .taskBarContainer:last-child {
        flex: 0 0 auto; }
  .taskBarHolder.saf-horizontal {
    flex-direction: row;
    height: 100%; }
    .taskBarHolder.saf-horizontal > .taskBarContainer {
      overflow-x: scroll;
      flex-direction: row;
      flex: 1 1 auto;
      /*justify-content: space-between;*/
      justify-content: flex-start;
      height: calc(100% + 24px); }
      .taskBarHolder.saf-horizontal > .taskBarContainer:first-child {
        flex: 0 0 auto; }
      .taskBarHolder.saf-horizontal > .taskBarContainer:last-child {
        flex: 0 1 auto; }
      .taskBarHolder.saf-horizontal > .taskBarContainer .xataskBarItem {
        flex: 1 1 auto;
        max-width: 12em;
        min-width: 62px;
        overflow: hidden; }

.nav-panelsRelative {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0; }
  .nav-panelsRelative .nav-popPanelContainer {
    position: absolute;
    z-index: 1; }
  .nav-panelsRelative .xa-navPanel {
    outline: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 12px 12px 24px rgba(0, 0, 0, 0.5);
    background: #243a51;
    display: none;
    padding: 0.2em;
    overflow: auto;
    max-height: 100vh;
    max-width: calc(100vw - 100px);
    width: max-content; }

/* Buttons in Popups used by microaps*/
.xa-navPanel textarea, .xa-navPanel button {
  color: #000000; }

.xa-navPanel .btn-default.btn-startmenu {
  background: #274671;
  color: #FFFFFF;
  border: none;
  border-radius: 2px; }
  .xa-navPanel .btn-default.btn-startmenu:hover {
    background: rgba(63, 111, 181, 0.8); }

/*.xa-startmenu {
    display: none;
    z-index: 1040;
    overflow: visible;
    position: absolute;

    bottom: 12px;
    left: 0px;

    background-color: $color-almostWhit;
    padding: 0px;
    box-shadow: rgba(0,0,0,0.15) 15px -15px 20px;
    border-bottom: 6px;
    color: $startMenu-link;
}

.xa-startmenu.open {
    display: block;
    position: fixed;
    animation-duration: 0.15s;
    animation-timing-function: ease-out;
    animation-name: slide-sm-open-down;
}*/
.xa-smenu-280 {
  width: 280px !important; }

/*@keyframes slide-sm-open {
    from {
        opacity: 0;
        transform-origin: 0% 100%;
        transform: translate(0,0) rotate3d(1,0,0,90deg);
    }

    to {
        opacity: 1;
        transform-origin: 0% 100%;
        transform: translate(0,0) rotate3d(0,0,0,0deg);
    }
}
@keyframes slide-sm-open-down {
    from {
        opacity: 0;
        transform-origin: 0% 0%;
        transform: translate(0,0) rotate3d(0,1,0,90deg);
    }

    to {
        opacity: 1;
        transform-origin: 0% 0%;
        transform: translate(0,0) rotate3d(0,0,0,0deg);
    }
}*/
/*@keyframes slide-sm-open {
    from {               
        opacity: 0;
        transform-origin: 0% 100%;        
        transform: scale(1,0) translate(0,0%) ;
       
    }

    to {           
        opacity: 1;           
        transform-origin: 0% 100%;        
       transform: scale(1,1) translate(0,0);           
    }
}*/
/*@keyframes slide-sm-open {
    from {               
        opacity: 0;
    }

    to {           
        opacity: 1;           
     
    }
}*/
/* svg icons*/
.xaWindow-Bar {
  overflow: hidden; }

/* Window Bar - Hover */
.xaWindow-Bar:hover {
  transition: background 0.5s ease-out;
  background: #011d1a;
  border-color: #011d1a; }

/*  --------------------------------------------------------------------------
    Mouse ContextMenu 

*/
#SAF-CONTEXT-MENU-SCREEN {
  display: none; }

.SAF-CONTEXT-MENUWINDOW {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: fixed;
  z-index: 12000;
  display: block;
  min-width: 200px;
  background: white;
  border: 1px solid lightgray;
  padding: 6px 1px;
  box-shadow: 15px 15px 55px rgba(0, 0, 0, 0.3);
  /*, 10px 10px 50px inset rgba(0,0,0,0.05);*/
  max-width: 300px; }
  .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item.saf-contextmenu-group {
    display: inline-flex;
    overflow: hidden;
    padding-left: 20px;
    padding-right: 20px;
    border-right: 1px solid lightgray; }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item.saf-contextmenu-group .saf-contextmenu-iText {
      display: none; }
  .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item {
    cursor: pointer;
    overflow: hidden;
    font-size: 13px;
    font-family: sans-serif;
    padding: 3px 1px;
    max-width: 100%;
    /*border-bottom: 1px dashed rgba(0,0,0,.1);*/
    display: flex;
    color: rgba(0, 0, 0, 0.84);
    white-space: nowrap; }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item:hover {
      background: #e1e1e1; }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item .saf-contextmenu-iIcon {
      flex: 0 0 auto;
      width: 1.5em;
      padding: 2px;
      color: #3a5e82;
      text-align: center; }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-item .saf-contextmenu-iText {
      padding: 2px;
      flex: 0 1 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
  .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-separator {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    margin: 0.1em 3px; }
  .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-disabled.saf-contextmenu-item {
    cursor: default;
    color: rgba(128, 128, 128, 0.74); }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-disabled.saf-contextmenu-item:hover {
      background: white; }
    .SAF-CONTEXT-MENUWINDOW .saf-contextmenu-disabled.saf-contextmenu-item .saf-contextmenu-iIcon {
      color: rgba(128, 128, 128, 0.74); }

.icontype-delete {
  color: darkred; }

.icontype-system {
  color: #011d1a; }

/*    End Mouse ctx menu */
.activeNavigation {
  background: #2f4c69 !important; }

.acType-samePage, .acType-newDialog {
  padding-left: 0.25em; }
  .acType-samePage .nav-Icon, .acType-newDialog .nav-Icon {
    display: inline-block;
    padding: 0.3em;
    min-width: 2em;
    text-align: center;
    margin-right: 0.5em;
    background: #2f4c69;
    border: 1px solid transparent; }
  .acType-samePage:hover .nav-Icon, .acType-newDialog:hover .nav-Icon {
    border: 1px solid rgba(255, 255, 255, 0.84);
    box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.3); }
  .acType-samePage.xML-i, .acType-newDialog.xML-i {
    background: rgba(25, 40, 56, 0.64); }

.acType-newDialog .nav-Icon {
  background: #416344; }

.acType-newDialog.xML-i {
  /*background: rgba($CF-800,0.5);*/ }

.loginPartial button {
  width: 100%;
  background: transparent;
  border: none;
  outline: 1px solid rgba(255, 255, 255, 0.1);
  display: block;
  color: rgba(255, 255, 255, 0.84);
  padding: 0.5em; }
  .loginPartial button:hover {
    background: rgba(255, 255, 255, 0.2); }

.nav-taskBar .taskBarContainer:first-child {
  display: none; }

.nav-indexBar .taskBarContainer:first-child .xataskBarItem {
  height: 32px;
  margin-top: 0;
  border-right: transparent; }

.xa-startbutton[data-name="SYS:TASKBAR"] {
  min-width: 64px;
  transform: scale(1.1);
  justify-content: center; }
  .xa-startbutton[data-name="SYS:TASKBAR"] .xa-icon {
    padding-top: 2px;
    width: 72px; }
    .xa-startbutton[data-name="SYS:TASKBAR"] .xa-icon:hover {
      transition: 0.5s;
      filter: brightness(1.2);
      transform: scale(1.15); }

.saf-horizontal .xa-startbutton[data-name="SYS:USER"] {
  min-width: 3em; }
  .saf-horizontal .xa-startbutton[data-name="SYS:USER"] .xa-icon {
    padding-left: 0.7em;
    transform: scale(1.1); }

.saf-vertical .xa-startbutton[data-name="SYS:USER"] {
  background: #3A3A3A !important; }
  .saf-vertical .xa-startbutton[data-name="SYS:USER"] .xa-icon {
    font-size: 18px !important;
    /*color: $CN-900;
        &:hover {color: $CC;}*/ }

.saf-vertical .xa-startbutton[data-name="SYS:NAVIGATION"] {
  /*background: #3A3A3A !important;*/ }
  .saf-vertical .xa-startbutton[data-name="SYS:NAVIGATION"] .xa-icon {
    font-size: 12px !important; }

.saf-nav-fullsizescroll {
  width: 100%;
  height: 100%;
  overflow: auto; }

/* xaWin Stylesheets 
    Defines how the appearance of the used windows 

*/
.xaWinBase.winModal {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.3);
  background: radial-gradient(rgba(255, 255, 255, 0.5), rgba(0, 0, 0, 0.5));
  transition: background 1s;
  z-index: 10; }

#xaSystemScreen .xaWinBase.WinOnTop > .zindexing {
  z-index: 10030 !important; }

/*-----------------------------------------------*/
/* general win settings*/
.xaWin {
  /*no styles apply to this tag*/ }

.xaWinHeader {
  width: 100%; }

.xaWinHeader .xaWinBt {
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0;
  padding-left: 0.7em;
  padding-right: 0.7em;
  color: black;
  transition: 0.1s; }

.xaWinHeader .xaWinBt:hover {
  background-color: black;
  color: white;
  transition: 0.1s; }

.xaWinHeader .xaWinBt:focus {
  border: 1px dashed black; }

.xaWinBodyContainer {
  /*no styles apply to this tag*/ }

.xaWinHead {
  /*no styles apply to this tag*/ }

.xaWinControl {
  /*no styles apply to this tag*/ }

.xaWinBody {
  /*no styles apply to this tag*/ }

.xaWinFooter {
  /*no styles apply to this tag*/ }

/*-----------------------------------------------*/
/* pop up menu structure*/
/* as used by tabular data rendering for a popup*/
.xaWinPopMenu {
  border-radius: 8px;
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.3);
  border: 0px solid rgba(27, 48, 79, 0.6);
  z-index: 20;
  background-color: #ecebe6;
  /*font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;*/
  /*font-size: 11px;*/
  min-width: 180px; }

.xaWinPopMenuBody {
  margin: 6px;
  color: black; }

.xaWinPopMenuBody a:link, .xaWinPopMenuBody a:visited {
  display: block;
  padding: 4px;
  margin: 3px;
  border-radius: 0px; }

.xaWinPopMenuBody a:hover {
  /*background-color: #d7e9fc;*/ }

.xaWinPopMenuTriangleL {
  position: absolute;
  top: 2px;
  left: -14px;
  width: 0;
  height: 0;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-right: 14px solid rgba(27, 48, 79, 0.6); }

/*-----------------------------------------------*/
/* Transparent Windows */
/* using layout 0 or*/
.xaWinTransp {
  border: 4px solid #FFFFFF;
  z-index: 20;
  color: #FFFFFF;
  background-color: rgba(20, 33, 94, 0.3);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1); }

.xaWinHTransp {
  background-color: rgba(33, 93, 216, 0.2);
  color: transparent;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 55;
  font-size: 16px;
  display: table;
  text-wrap: none;
  padding: 0.25em;
  border-bottom: 1px dashed black; }

.xaWinBTransp {
  overflow: auto;
  position: absolute;
  top: 30px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  color: black; }

/**/
/*-----------------------------------------------*/
/*-----------------------------------------------*/
/* Pop Windows */
/* compare xaSystem*/
/* rest often used with layout 0*/
.xaWinPop {
  box-shadow: rgba(0, 0, 0, 0.3) 8px 8px 12px, rgba(0, 0, 0, 0.25) 0px 0px 242px;
  border: 0px solid rgba(0, 0, 0, 0.25);
  z-index: 20;
  background-color: #FFFFFF;
  /*#fefff9;*/ }

.xaWinPop.isSmall[style] {
  /* never used kill the whole element ?*/
  /*position: relative;*/
  width: 100px !important;
  height: 38px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  background-color: red;
  overflow: hidden; }

/**/
/*-----------------------------------------------*/
/*xaWin Body stlyes*/
/*Body Standard */
.xaWinH0 {
  background-color: #ebebeb;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 55;
  font-size: 16px;
  display: table;
  text-wrap: none;
  padding: 0.25em;
  border-bottom: 1px dashed black;
  /*    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);*/ }

.xaWinT0 {
  display: table-cell;
  overflow: hidden; }

.xaWinCtrl0 {
  position: absolute;
  right: 0;
  top: 2px;
  display: table-cell;
  text-align: right; }

.xaWinB0 {
  /*    font-size: small;*/
  overflow: auto;
  position: absolute;
  top: 36px;
  left: 6px;
  right: 6px;
  bottom: 4px;
  color: black;
  /*@include disable-select();*/ }
  .xaWinB0 .btn {
    margin-right: 0.5em; }

.xaWinR0 {
  position: absolute;
  right: 1px;
  bottom: 2px;
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 18px solid #240031;
  cursor: nw-resize; }

/*-----------------------------------------------*/
/*Body Standard 3Parts */
/* for ex. xaDialog */
.xaWindow3 {
  border-radius: 2px;
  box-shadow: rgba(0, 0, 0, 0.3) 8px 8px 12px;
  border: solid 1px #10142d;
  z-index: 10;
  background: #FFFFFF; }

.xaWinBase.WinOnTop > .xaWindow3 {
  box-shadow: rgba(0, 0, 0, 0.4) 24px 24px 50px, rgba(0, 0, 0, 0.2) -12px -12px 50px;
  transition: box-shadow 0.2s; }

.xaWinBase.WinOnTop .xaWinH3 {
  background-color: #011d1a;
  color: white; }

.xaWinBase.WinOnTop .xaWinH3 .xaWinBt {
  background-color: #011d1a; }

.xaWinH3 {
  position: absolute;
  left: 0;
  right: 0;
  height: 32px;
  /*z-index: 55; problems on ios => reverse layout order*/
  color: rgba(255, 255, 255, 0.54);
  background: #1b304f;
  font-size: 16px;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 12px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaWinT3 {
  display: table-cell;
  padding-left: 0.5em;
  padding-top: 4px;
  white-space: nowrap; }

.xaWinT3 > img {
  position: relative;
  bottom: 1px;
  right: 1px; }

.xaWinCtrl3 {
  position: absolute;
  right: 4px;
  top: 3px;
  display: table-cell;
  text-align: right;
  background-color: transparent; }

.xaWinC3 {
  position: absolute;
  top: 32px;
  left: 0px;
  right: 0px;
  bottom: 40px;
  overflow: hidden; }

.xaWinC3-noF {
  position: absolute;
  top: 32px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow: hidden; }

.xaWinB3 {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%;
  background: #ecebe6;
  /*background: linear-gradient(90deg, #ecebe6 0,#efe9e2 100%);*/
  /*// speed up scrolling behaviour (in Tables)
    transform: translate3d(0, 0, 0); // new 2019-08*/ }

.xaWinH3 .xaWinBt {
  color: rgba(255, 255, 255, 0.84);
  font-weight: 900;
  background-color: #1b304f; }

.xaWinH3 .xaWinBt:hover {
  color: black;
  background-color: rgba(255, 255, 255, 0.45) !important; }

.xaWinF3 {
  overflow: hidden;
  left: 0px;
  right: 0px;
  position: absolute;
  bottom: 0px;
  height: 40px;
  padding-left: 6px;
  padding-top: 3px;
  box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.1);
  /*border-top: 1px solid black;*/
  background: white;
  /* #4e1847; /*rgb(250,252,255);*/ }

.xaWindow3.isSmall {
  transform-origin: top left;
  perspective-origin: bottom right;
  transform: scale(0.6, 0.6);
  transition: transform 0.3s;
  position: relative;
  filter: grayscale(50%) brightness(90%) contrast(90%); }
  .xaWindow3.isSmall > .xaWinFooter {
    display: none; }

.xaWindow3.touching, .xaWinH3.touching {
  background: #274671 !important; }

/* Resize */
.xaWinR3 {
  position: absolute;
  right: 2px;
  bottom: 2px;
  height: 18px;
  width: 18px;
  width: 0;
  border-left: 18px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 18px solid #240031;
  cursor: nw-resize; }

/* resize Handler Left*/
.xaWinResizeL {
  position: absolute;
  left: -2px;
  top: 20px;
  bottom: 18px;
  width: 4px;
  background-color: transparent;
  cursor: ew-resize; }

/* resize Handler ew <->*/
.xaWinResizeR {
  position: absolute;
  right: -2px;
  top: 20px;
  bottom: 18px;
  width: 4px;
  background-color: transparent;
  cursor: ew-resize; }

/*resize Handler ns */
.xaWinResizeB {
  position: absolute;
  right: 0;
  left: 0;
  bottom: -2px;
  height: 4px;
  background-color: transparent;
  cursor: ns-resize; }

/*resize Handler top */
.xaWinResizeT {
  position: absolute;
  right: 0;
  left: 0;
  top: -4px;
  height: 4px;
  background-color: transparent;
  cursor: ns-resize; }

/* window3 Light Scheme*/
.xaWindow3.winColLight {
  border-color: transparent;
  border-radius: 5px;
  background: white;
  background: linear-gradient(90deg, white 0%, #ededed 74%, white 100%); }
  .xaWindow3.winColLight .xaWinH3 {
    color: black;
    background: none;
    border-top-left-radius: 5px; }
  .xaWindow3.winColLight .xaWinB3 {
    background: #ecebe6; }
  .xaWindow3.winColLight .xaWinH3 .xaWinBt {
    color: black;
    background-color: #FFFFFF; }
  .xaWindow3.winColLight .xaWinH3 .xaWinBt:hover {
    color: #FFFFFF;
    background-color: rgba(0, 0, 0, 0.9) !important; }
  .xaWindow3.winColLight .xaWinF3 {
    background: #FFFFFF;
    /* #4e1847; /*rgb(250,252,255);*/
    background: transparent; }
  .xaWindow3.winColLight .xaWinR3 {
    border-bottom: 18px solid #240031; }
  .xaWindow3.winColLight.touching, .xaWindow3.winColLight .xaWinH3.touching {
    background: #FFFFFF !important;
    border-color: black; }
  .xaWindow3.winColLight .xaWinResize {
    border-bottom-color: rgba(0, 0, 0, 0.2); }

/*-----------------------------------------------*/
/*-----------------------------------------------*/
/*Body for Main Page Content*/
.xaWindow4 {
  border-radius: 0px;
  z-index: 10;
  background-color: #FFFFFF; }

.xaWinC4 {
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow: hidden; }

.xaWinB4 {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%;
  /*// speed up scrolling behaviour (in Tables)
    transform: translate3d(0, 0, 0); // new 2019-08*/ }

/*-----------------------------------------------*/
/* Animations*/
.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    /*transform: scale3d(.8, .8, .8) rotate3d(1,1,1,5deg);*/ }
  to {
    opacity: 1; } }

/*//remove me?*/
.zoomIn {
  animation-duration: 0.25s;
  animation-name: zoomIn; }

/*blureIn*/
.blureIn {
  animation: blureIn 1s; }

@keyframes blureIn {
  from {
    opacity: 0;
    -webkit-filter: blur(150px);
    filter: blur(150px); }
  to {
    opacity: 1; } }

/*Slide in - used by forms*/
.slideIn {
  animation: blureIn 0.25s forwards ease-out; }

.slideIn-Up {
  animation-duration: 0.3s;
  animation-name: slideFromBottom; }

.slideIn-Page {
  transform-origin: top left;
  animation-duration: 0.5s;
  animation-name: slidePage;
  animation-timing-function: ease-out; }

.slideIn-Dialog {
  animation-duration: 0.5s;
  animation-name: slidDialog;
  animation-timing-function: ease-out; }

.anim-shakeDialog {
  animation-duration: 0.5s;
  animation-name: ShakeDialog;
  animation-timing-function: ease-out; }

.anim-taskWinIn {
  transform-origin: center left;
  animation-duration: 0.5s;
  animation-name: TaskWinIn;
  animation-timing-function: ease-out; }

.anim-taskWinHide {
  transform-origin: center left;
  animation-duration: 0.3s;
  animation-direction: reverse;
  animation-name: TaskWinIn;
  animation-timing-function: ease-out; }

.anim-indexWinIn {
  transform-origin: top left;
  animation-duration: 0.5s;
  animation-name: IndexWinIn;
  animation-timing-function: ease-out; }

.anim-indexWinHide {
  transform-origin: top center;
  animation-duration: 0.3s;
  animation-direction: reverse;
  animation-name: IndexWinIn;
  animation-timing-function: ease-out; }

@keyframes TaskWinIn {
  from {
    transform: rotate3D(0, 1, 0, 90deg) scale(1);
    filter: drop-shadow(35px 15px 25px black); }
  80% {
    filter: drop-shadow(35px 15px 25px rgba(0, 0, 0, 0.5)); }
  to { } }

@keyframes IndexWinIn {
  from {
    /*filter: sepia(0) brightness(1.1) drop-shadow(52x 15px 2px rgba(white,0.5)); // hue-rotate(-90deg);*/
    /*font-weight: 900;*/ }
  50% {
    filter: brightness(1.3);
    /*transform: rotate3D(0.2,1,0, -45deg);*/ }
  60% {
    /*transform: rotate3D(0,1,0, -45deg);*/ }
  80% {
    /*transform: rotate3D(1,-1,1, 20deg) scale(1);*/
    /*filter: brightness(0.95) drop-shadow(2px -15px 2px rgba(red,0.5)); // hue-rotate(-90deg);*/ }
  to { } }

@keyframes slidePage {
  from {
    /*opacity: 0.064;*/
    /*transform: translate(-100%,0);*/
    transform: scale(0.97); }
  to { } }

@keyframes slidDialog {
  from {
    transform: scale(1.01); }
  to { } }

@keyframes ShakeDialog {
  from {
    /*transform: rotate3D(1,1,0,0);*/
    transform: scale(1) rotate(0); }
  33% {
    /*transform: rotate3D(1,1,0,45deg);*/
    transform: scale(0.9) rotate(-3deg); }
  50% {
    /*transform: rotate3D(1,0,1,10deg);*/ }
  66% {
    /*transform: rotate3D(1,1,1,10deg);*/
    transform: scale(1.1) rotate(3deg); }
  to { } }

/*.slideOut-Page {
    animation-duration: 0.5s;
    animation-name: slidePage;
    animation-timing-function: ease-in;
}*/
@keyframes slideFromRight {
  from {
    transform: translate(0, -100%); }
  to {
    transform: translate(0, 0); } }

@keyframes slideFromBottom {
  from {
    transform: translate(0, 100%) rotate3d(1, 1, 1, 90deg); }
  to {
    transform: translate(0, 0) rotate3d(1, 1, 1, 0deg); } }

.messageIn {
  animation-duration: 1s;
  animation-name: messageIn;
  animation-timing-function: ease-in; }

@keyframes messageIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

/*Body Sys ---------------------------------------------------------------------
    used by xaSystem for the system window
*/
.xaWindowSys {
  border-radius: 2px;
  box-shadow: rgba(0, 0, 0, 0.5) 8px 8px 12px;
  border: solid 0.5px #858380;
  background-color: black; }

.xaWinHSys {
  z-index: 55;
  color: #FFFFFF;
  font-size: large;
  padding-left: 0.5em;
  padding-top: 0.25em; }

.xaWinBSys {
  font-family: monospace, sans-serif;
  font-size: small;
  overflow: auto;
  position: absolute;
  top: 38px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  background-color: #eee;
  /*p::first-letter {
        text-shadow: 1px 1px 2px rgba(black,0.2);        
    }*/ }
  .xaWinBSys p {
    margin: 0px;
    padding-left: 0.5em;
    /*&::before { content: "| ";}*/
    border-bottom: 1px dashed rgba(20, 22, 29, 0.2); }

.xaWinFSys {
  display: none; }

.xaWindowSys.isSmall {
  width: 220px !important;
  height: 38px !important;
  top: 0px;
  min-height: 0px !important;
  min-width: 0px !important;
  overflow: hidden; }

.xaWindowSys.isSmall > .xaWinBodyContainer,
.xaWindowSys.isSmall > .xaWinFooter {
  display: none; }

/* Resize */
.xaWinRSys {
  position: absolute;
  right: 2px;
  bottom: 2px;
  height: 18px;
  width: 18px;
  width: 0;
  height: 0;
  border-left: 18px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 18px solid black; }

/*-----------------------------------------------*/
/*   task-bar */
.xaWindow-Bar {
  /*standard bottom*/
  position: fixed;
  z-index: 1040;
  background: #000000;
  transition: background 1s ease-out;
  border-top: solid 0px #011d1a;
  box-shadow: rgba(0, 0, 0, 0.25) 15px 15px 20px;
  border: 3px solid #2c2a2a; }

/*.xaWindow-Bar:hover .xa-startbutton i {
    color: white;;

}*/
/*.xaWindow-Bar.top {
    bottom: auto;
    top:0;
}*/
.xaWinF-Bar {
  display: none;
  position: absolute;
  right: 0px;
  top: 0;
  height: 40px;
  width: 80px;
  border: 5px solid orange; }

.xaWinB-Bar {
  position: relative;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/*-----------------------------------------------*/
/*-----------------------------------------------*/
/*Notfy 3Parts */
.xaWindow-Notify {
  border-radius: 0.2em;
  box-shadow: rgba(0, 0, 0, 0.5) 8px 8px 50px;
  border: solid 1px rgba(0, 0, 0, 0.25);
  z-index: 10;
  background-color: #FFFFFF;
  overflow: hidden; }

.xaWinH-Notify {
  position: absolute;
  left: 0;
  right: 0;
  height: 32px;
  z-index: 55;
  color: black;
  font-size: 16px;
  overflow: hidden; }

.xaWinT-Notify {
  display: table-cell;
  padding-left: 0.5em;
  padding-top: 4px;
  white-space: nowrap; }

.xaWinCtrl-Notify {
  position: absolute;
  right: 4px;
  top: 4px;
  display: table-cell;
  text-align: right;
  background-color: inherit; }

.xaWinC-Notify {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  position: absolute;
  top: 32px;
  left: 0px;
  right: 0px;
  bottom: 40px;
  overflow: hidden; }

.xaWinB-Notify {
  overflow: auto;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  padding: 1em; }

.xaWinF-Notify {
  overflow: hidden;
  left: 0px;
  right: 0px;
  position: absolute;
  bottom: 0px;
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  padding-top: 3px;
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  background: #FFFFFF;
  display: flex;
  justify-content: space-between; }

/*-----------------------------------------------*/
/*-----------------------------------------------*/
/*microApps 3Parts */
.xaWindow-micro-inline {
  /*position: relative;*/
  box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
  border: solid 0.5px rgba(0, 0, 0, 0.25);
  color: rgba(0, 0, 0, 0.84);
  width: 100%;
  height: 100%; }
  .xaWindow-micro-inline .micro-header {
    position: relative;
    font-weight: 600;
    overflow: hidden;
    border-bottom: 1px solid lightgray; }
  .xaWindow-micro-inline .micro-title {
    display: table-cell;
    padding-left: 0.5em;
    padding-top: 4px;
    white-space: nowrap; }
  .xaWindow-micro-inline .micro-ctrl {
    position: absolute;
    right: 0px;
    top: 0px;
    display: table-cell;
    text-align: right;
    /*background-color: transparent;*/ }
  .xaWindow-micro-inline .micro-wcontainer {
    overflow: hidden; }
  .xaWindow-micro-inline .micro-wbody {
    padding: 0.5em;
    overflow: auto; }

/*-----------------------------------------------*/
/*Notfy 3Parts */
.xaWindow-Notify-inline {
  /*display: inline-block;*/
  position: relative;
  border-radius: 3px;
  box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
  border: solid 0.5px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  color: rgba(0, 0, 0, 0.84); }

.xaWinH-Notify-inline {
  position: relative;
  font-weight: 600;
  overflow: hidden; }

.xaWinT-Notify-inline {
  display: table-cell;
  padding-left: 0.5em;
  padding-top: 4px;
  white-space: nowrap; }

.xaWinCtrl-Notify-inline {
  position: absolute;
  right: 0px;
  top: 0px;
  display: table-cell;
  text-align: right;
  background-color: transparent; }

.xaWinB-Notify-inline {
  padding: 0.5em; }

.xaWinF-Notify-inline {
  float: right;
  background: transparent;
  position: relative; }

/* XA-Alert*/
/* and Messages */
.xaMessagesBody {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; }
  .xaMessagesBody .XA-Alert {
    display: inline-block;
    max-width: 800px;
    vertical-align: top;
    flex-grow: 1;
    margin: 0.5em;
    margin-left: 0; }

.XA-Alert .xaAlert-type-message-information {
  background: #e7f2e5; }

.XA-Alert .xaAlert-type-message-warning,
.XA-Alert .xaAlert-type-confirm {
  background: #f3d59c; }

.XA-Alert .xaAlert-type-message-error,
.XA-Alert .xaAlert-type-error {
  background: #f1baba; }

.XA-Alert .xaAlert-type-message-debug {
  background: #cdeff6; }

/* Iframe app*/
.saf-iframe-black {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(20, 10, 0, 0.1);
  display: none; }

.saf-iframe-cont {
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  overflow: hidden; }
  .saf-iframe-cont iframe {
    border: none;
    width: 100%;
    height: 100%; }
  .saf-iframe-cont .saf-pageIframe {
    border: 5px solid #011d1a;
    /*overflow:auto;*/ }

.xaWin.touching .saf-iframe-black {
  display: block;
  z-index: 10000; }

/*.xaWin.touching iframe {
 
}*/
/* xBody*/
/*.xaWinBody {border: 5px solid red;
            transition: left 0.5s;}*/
.xaWinBodyX {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaWinBodyX-rightside, .xaWinBodyX-leftside {
  /*padding-top: 2px;*/
  background: transparent;
  transition: width 0.3s;
  transition: box-shadow 0.3s;
  border-right: 2px solid black; }
  .xaWinBodyX-rightside.XIsActive, .xaWinBodyX-leftside.XIsActive {
    transition: width 0.3s;
    box-shadow: -5px 0px 30px rgba(0, 0, 0, 0.15);
    box-shadow: 5px 5px 30px rgba(0, 0, 0, 0.25);
    transition: box-shadow 0.3s; }
  .xaWinBodyX-rightside > .XCONTAINER-SCROLL, .xaWinBodyX-leftside > .XCONTAINER-SCROLL {
    background: white;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: 100%; }
  .xaWinBodyX-rightside.colDark, .xaWinBodyX-leftside.colDark {
    /*border-left: 1px solid rgba(white,0.2);*/ }
    .xaWinBodyX-rightside.colDark > .XCONTAINER-SCROLL, .xaWinBodyX-leftside.colDark > .XCONTAINER-SCROLL {
      background: #1E1E1E; }
  .xaWinBodyX-rightside > .XCONTAINER-SmallOverlay, .xaWinBodyX-leftside > .XCONTAINER-SmallOverlay {
    display: none; }
  .xaWinBodyX-rightside.XSmallBody > .XCONTAINER-SmallOverlay, .xaWinBodyX-leftside.XSmallBody > .XCONTAINER-SmallOverlay {
    display: block;
    position: absolute;
    top: 0px;
    left: -24px;
    transition: left 0.3s;
    bottom: 0;
    width: 24px;
    height: 100%;
    background: #184b4e;
    color: white;
    padding: 1em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    /*&:hover { 
                color: black;
                background: white;
            }*/ }
    .xaWinBodyX-rightside.XSmallBody > .XCONTAINER-SmallOverlay .rotate90, .xaWinBodyX-leftside.XSmallBody > .XCONTAINER-SmallOverlay .rotate90 {
      writing-mode: vertical-rl; }
  .xaWinBodyX-rightside.XSmallBody.Xleftside > .XCONTAINER-SmallOverlay, .xaWinBodyX-leftside.XSmallBody.Xleftside > .XCONTAINER-SmallOverlay {
    left: 0px; }
  .xaWinBodyX-rightside.XSmallBody.XIsInactive, .xaWinBodyX-leftside.XSmallBody.XIsInactive {
    width: 0px !important;
    /*transition: 0.3s;*/
    /*right: 0px !important;*/ }
  .xaWinBodyX-rightside.XSmallBody.XIsActive > .XCONTAINER-SmallOverlay, .xaWinBodyX-leftside.XSmallBody.XIsActive > .XCONTAINER-SmallOverlay {
    left: 0;
    width: 0;
    opacity: 0;
    /*display: none;*/ }

.xcContainer-item {
  background: #FAFAFA;
  /*border: 2px solid $CA;*/
  border-right: 2px solid #FFFFFF;
  margin-top: 0.1em;
  margin-bottom: 0.2em; }
  .xcContainer-item.stdWidth {
    min-width: 300px; }
  .xcContainer-item .XC-ITEM-HEADER {
    transition: 0.5s;
    min-height: 2.5em;
    padding: 0.5em;
    background: #011d1a;
    color: rgba(255, 255, 255, 0.7);
    position: sticky;
    top: -3px;
    z-index: 1;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2); }
    .xcContainer-item .XC-ITEM-HEADER:after {
      /*font-family: 'Glyphicons Halflings';
            content: "\e113"; //chevron up*/
      font-family: fontAwesome;
      content: "\f077";
      font-size: x-small;
      border-radius: 10px;
      padding: 2px;
      position: absolute;
      top: 0;
      right: 0.5em;
      padding: 1em;
      background: #011d1a; }
    .xcContainer-item .XC-ITEM-HEADER:hover {
      color: #FFFFFF;
      background: #274671; }
  .xcContainer-item .XC-ITEM-BODY {
    min-height: 1em; }
  .xcContainer-item.XC-Closed > .XC-ITEM-BODY {
    display: none; }
  .xcContainer-item.XC-Closed > .XC-ITEM-HEADER:after {
    content: "\f078"; }

:root {
  --xaWinBody-height: 60vh; }

.xa-sidebar-navigation {
  width: 100%;
  padding: 0.5em; }

/* xaWin Stylesheets 
    Defines how the appearance of the used windows 

*/
/*-----------------------------------------------*/
/*Body Standard 3Parts */
.pos-absolute {
  position: absolute; }

/*.pos-relative {
    position: relative;
}*/
.sfWindow3 {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*> .xaWinResize {
        What to do with resize? ==> Logic for win
    }*/ }
  .sfWindow3 > .xaWinHeader {
    position: absolute;
    left: 0;
    right: 0;
    height: 32px;
    /*z-index: 55; problems on ios => reverse layout order*/
    overflow: hidden;
    /*@include disable-select();*/
    font-size: 16px; }
  .sfWindow3 > .xaWinBodyContainer {
    position: absolute;
    top: 32px;
    left: 0px;
    right: 0px;
    overflow: hidden;
    bottom: 0px; }
    .sfWindow3 > .xaWinBodyContainer > .xaWinBody {
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      width: 100%;
      height: 100%; }
  .sfWindow3.SFW-SHOW-FOOTER > .xaWinBodyContainer {
    bottom: 40px; }
  .sfWindow3.SFW-SHOW-FOOTER > .xaWinFooter {
    display: block;
    height: 40px; }
  .sfWindow3.SFW-NO-HEADER > .xaWinHeader {
    display: none; }
  .sfWindow3.SFW-NO-HEADER > .xaWinBodyContainer {
    top: 0; }
  .sfWindow3 > .xaWinFooter {
    display: none;
    overflow: hidden;
    position: absolute;
    left: 0px;
    right: 0px;
    bottom: 0px;
    height: 40px; }

.sfWindow3.isSmall {
  transform-origin: top left;
  perspective-origin: bottom right;
  transform: scale(0.6, 0.6);
  transition: transform 0.3s;
  position: relative;
  filter: grayscale(50%) brightness(90%) contrast(90%); }
  .sfWindow3.isSmall > .xaWinFooter {
    display: none; }

.sfw-overflowable > .xaWinHeader {
  overflow: visible; }

.sfw-overflowable > .xaWinBodyContainer {
  overflow: visible; }
  .sfw-overflowable > .xaWinBodyContainer > .xaWinBody {
    overflow: visible; }

.xaWinBase.WinOnTop > .sfWindow3 {
  box-shadow: rgba(0, 0, 0, 0.4) 24px 24px 50px, rgba(0, 0, 0, 0.2) -12px -12px 50px;
  transition: box-shadow 0.2s; }

.sfw-shadows {
  box-shadow: rgba(0, 0, 0, 0.3) 8px 8px 12px; }
  .sfw-shadows > .xaWinHeader {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 12px; }
  .sfw-shadows > .xaWinFooter {
    box-shadow: 0px -2px 2px rgba(0, 0, 0, 0.1); }

.sfw-shadows-weak {
  box-shadow: rgba(0, 0, 0, 0.25) 8px 8px 12px; }

.sfw-shadows-none {
  box-shadow: none !important; }

.sfw-paddings-std > .xaWinHeader {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding: 0.15em; }
  .sfw-paddings-std > .xaWinHeader > .xaWinHead {
    flex: 1 1 100%;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    padding-left: 0.31em;
    padding-top: 2px; }
  .sfw-paddings-std > .xaWinHeader > .xaWinControl {
    flex: 0 0 auto; }

.sfw-paddings-std > .xaWinFooter {
  padding-left: 6px;
  padding-top: 3px; }

.sfw-border-radius5 {
  border-radius: 5px; }
  .sfw-border-radius5 > .xaWinHeader {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px; }

.xaWinBase.WinOnTop > .sfw-colors-std > .xaWinHeader {
  background-color: #011d1a;
  color: white; }
  .xaWinBase.WinOnTop > .sfw-colors-std > .xaWinHeader .xaWinBt {
    background-color: #011d1a; }

.sfw-colors-std {
  background: #FFFFFF;
  border: solid 1px #10142d;
  /*&.touching,*/ }
  .sfw-colors-std > .xaWinHeader.touching {
    background: #274671 !important; }
  .sfw-colors-std > .xaWinHeader {
    color: rgba(255, 255, 255, 0.54);
    background: #1b304f;
    /*> .xaWinHead {
        }*/
    /*> .xaWinControl {
            background-color: transparent;
        }*/ }
    .sfw-colors-std > .xaWinHeader .xaWinBt {
      color: rgba(255, 255, 255, 0.84);
      font-weight: 900;
      background-color: #1b304f; }
      .sfw-colors-std > .xaWinHeader .xaWinBt:hover {
        color: black;
        background-color: rgba(255, 255, 255, 0.45) !important; }
  .sfw-colors-std > .xaWinBodyContainer {
    background: #ecebe6; }
  .sfw-colors-std .xaWinResize {
    border-bottom-color: rgba(0, 0, 0, 0.3); }

.xaWinBase.WinOnTop > .sfw-colors-navigation > .xaWinHeader {
  color: rgba(255, 255, 255, 0.84);
  /*background-color: $CA;
        color: rgba($White,1);

        .xaWinBt {
            background-color: $CA;
        }*/ }

.sfw-colors-navigation {
  background: #000000;
  border: 0px solid transparent;
  /*&.touching,*/ }
  .sfw-colors-navigation > .xaWinHeader.touching {
    background: #000000 !important; }
  .sfw-colors-navigation > .xaWinHeader {
    background: #222;
    color: rgba(255, 255, 255, 0.64); }
    .sfw-colors-navigation > .xaWinHeader .xaWinBt {
      color: rgba(255, 255, 255, 0.84);
      font-weight: 900;
      background-color: transparent; }
      .sfw-colors-navigation > .xaWinHeader .xaWinBt:hover {
        color: black;
        background-color: rgba(255, 255, 255, 0.45) !important; }

.sfWindow3-HederLarge > .xaWinHeader {
  height: 50px;
  font-size: 14px;
  padding-top: 12px !important; }

.sfWindow3-HederLarge > .xaWinBodyContainer {
  position: absolute;
  top: 48.78px; }

.sfWindow3-HederTiny > .xaWinHeader {
  height: 18px;
  font-size: 10px;
  padding-top: 1px !important; }

.sfWindow3-HederTiny > .xaWinBodyContainer {
  position: absolute;
  top: 18px; }

/* window3 Light Scheme*/
.xaWinBase.WinOnTop > .sfw-colors-light > .xaWinHeader {
  /*background-color: $CA;
        color: rgba($White,1);

        .xaWinBt {
            background-color: $CA;
        }*/ }

.sfw-colors-light {
  border: solid 1px #10142d;
  border-color: transparent;
  background: white;
  background: linear-gradient(90deg, white 0%, #ededed 74%, white 100%); }
  .sfw-colors-light.touching {
    border-color: black; }
  .sfw-colors-light > .xaWinHeader.touching {
    background: #FFFFFF !important; }
  .sfw-colors-light > .xaWinHeader {
    color: black;
    background: none; }
    .sfw-colors-light > .xaWinHeader .xaWinBt {
      color: black;
      background-color: #FFFFFF; }
      .sfw-colors-light > .xaWinHeader .xaWinBt:hover {
        color: #FFFFFF;
        background-color: rgba(0, 0, 0, 0.9) !important; }
    .sfw-colors-light > .xaWinHeader .xaWinBt > .xaWinControl {
      background-color: transparent; }
  .sfw-colors-light > .xaWinBodyContainer {
    background: #ecebe6;
    /*> .xaWinBody {
            background: #ecebe6;
        }*/ }
  .sfw-colors-light > .xaWinFooter {
    background: #FFFFFF;
    /* #4e1847; /*rgb(250,252,255);*/
    background: transparent; }
  .sfw-colors-light .xaWinResize {
    border-bottom-color: rgba(0, 0, 0, 0.2); }

.sfBody-dark {
  background: #1A1A1A;
  color: rgba(255, 255, 255, 0.84);
  /*border: 0.5em solid black;*/ }

/*
 *** xaCalendar
 */
.xaCalendarContainer {
  background: white;
  color: black; }

.xaCalendarTimeFrame {
  position: relative;
  float: left;
  overflow: visible;
  background-color: white;
  /* Disable text selection highlighting. */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.xaCalendarSheet {
  height: auto;
  overflow-y: hidden;
  overflow-x: scroll;
  position: relative;
  /* Disable text selection highlighting. */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* Calender Content*/
.xaCalMainContainer {
  position: relative;
  border: 2px solid transparent;
  overflow: hidden; }

.xaCalPageContainer {
  position: relative;
  top: 0px;
  /*Change this for Scroll or cut night*/ }

.xaCalPageContainerInfo {
  position: absolute;
  background-color: rgba(63, 111, 181, 0.9);
  left: 0;
  top: 0;
  padding-top: 5em;
  font-size: x-large;
  font-weight: bold;
  color: #ccd9ed;
  text-align: center;
  text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5); }

/* */
/*.xaCalendarSide{
    position: relative;
    float: left;
    top: 0px;
    left:0px;
    width:50px;
    height: 500px;
    border: 5px solid red;
    background-color: red;
}*/
/*Background Page*/
.xaCalendarContainer.stickyContent {
  /*margin: 12px;
    border: 5px solid green;*/
  position: absolute;
  top: 55px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  overflow: hidden; }
  .xaCalendarContainer.stickyContent .xaCalendarMenu {
    /*border: 5px solid brown;*/ }
  .xaCalendarContainer.stickyContent .xaCalendarTimeFrame {
    /*border: 3px solid green;*/
    overflow: hidden; }
  .xaCalendarContainer.stickyContent .xaAutoScroll {
    overflow: hidden;
    position: relative;
    /*border: 2px solid red;*/ }
  .xaCalendarContainer.stickyContent .xaCalendarSheet {
    /*border: 5px solid orange;*/
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  .xaCalendarContainer.stickyContent .xaCalHead {
    /*border: 5px solid pink;*/
    /*overflow: hidden;*/
    /*width: 300px !important;*/ }
  .xaCalendarContainer.stickyContent .xaCalMainContainer {
    /*border: 2px solid blue;*/
    overflow: auto;
    overflow-x: scroll;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    width: auto !important;
    height: auto !important;
    position: absolute;
    /*top: 50px; // should be overwritten by calendar kill me*/
    left: 0;
    right: 0;
    bottom: 0; }
  .xaCalendarContainer.stickyContent .xaCalPageContainer {
    /*border: 5px solid red;*/ }
  .xaCalendarContainer.stickyContent .xaCalBtLeft {
    position: absolute;
    left: 8px;
    top: 8px;
    background: transparent; }
  .xaCalendarContainer.stickyContent .xaCalBtRight {
    position: absolute;
    top: 8px;
    right: 0px; }

/* Buttons*/
.xaCalBtLeft {
  position: relative;
  /*top: 0px; set Inline*/
  left: 8px;
  font-size: x-small; }

.xaCalBtRight {
  position: absolute;
  top: 8px;
  right: -2px;
  font-size: x-small; }

.xaCalNightMarker {
  position: absolute;
  /*background-color: #fbfcff;*/ }

.xaCalDayMarker {
  position: absolute;
  /*background-color: white;*/ }

.xaCalHMarker, .xaCalHMarkerB {
  position: absolute;
  border-top: 1px solid rgba(0, 0, 0, 0.2); }

.xaCalHMarkerB {
  border-top: 2px solid rgba(0, 0, 0, 0.3); }

.xaCalMMarker {
  position: absolute;
  border-top: 1px dotted rgba(0, 0, 0, 0.18); }

.xaCalHMarkerL {
  position: absolute;
  color: black;
  background-color: none;
  text-align: right;
  font-size: 11px;
  font-weight: bold;
  width: 38px;
  color: #274671; }
  .xaCalHMarkerL.xaCMTypeq, .xaCalHMarkerL.xaCMTypehN {
    font-size: 8px;
    font-weight: normal;
    color: rgba(0, 0, 0, 0.74); }

/*Columns*/
.xaCalHead {
  position: relative;
  border: 2px solid transparent; }

.xaCalColMarkerHead, .xaCalColMarker {
  position: absolute;
  border: 1px solid black;
  padding-left: 4px;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis; }

.xaCalColMarker {
  border-top: none; }

.xaCalColMarker.today {
  /*border: 2px solid black;
    border-top: none;*/ }

.xaCalColMarkerHead {
  background-color: #f9fcfa;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  font-weight: bold; }

.xaCalColMarkerHead.Sa {
  background-color: #fffcf1; }

.xaCalColMarkerHead.So {
  background-color: #fff3e9; }

.xaCalColMarkerHead.tDay {
  /*border-top: 2px solid black;*/
  background-color: #3f6fb5;
  color: white; }

.xaCalColMarker.Sa, .xaCalColMarker.So {
  background-color: rgba(255, 255, 255, 0.2); }

.xaCalColMarkerHead.today::before {
  font-weight: normal;
  /*font-family: 'Glyphicons Halflings';
    content: "\e127";    */
  font-family: fontAwesome;
  content: "\f0a4";
  padding-right: 4px; }

.xaCalColMarkerHead.today {
  background-color: #10142d;
  color: white; }

.xaCalColMarkerHead.today.Sa {
  background-color: #f39109 !important; }

.xaCalColMarkerHead.today.So {
  background-color: #f39109; }

/*subs*/
.xaCalSub {
  position: absolute;
  /*background-color: rgba(254, 255, 255, 0.1);*/
  border-left: 0px;
  border-right: 1px solid #ccc;
  box-shadow: 2px 0px 2px rgba(200, 200, 200, 0.1); }

.xaCalSubHead {
  position: absolute;
  padding-left: 4px;
  overflow: hidden;
  font-size: 12px;
  background-color: white;
  border-top: 2px solid white;
  border-left: none;
  border-bottom: none;
  border-right: 1px solid #ccc;
  /*box-shadow: 2px 0px 2px rgba(200,200, 200, 1);*/
  padding-top: 2px;
  cursor: pointer; }
  .xaCalSubHead:hover {
    background-color: black;
    text-decoration: underline;
    color: white; }

/* Mouse */
.xaCalMousePointer {
  position: absolute;
  /*border: 1px solid black;*/
  background: rgba(17, 17, 135, 0.1);
  width: 0px;
  height: 0px; }

/* Now Timeline*/
.xaCalNowTimeline, .xaCalNowTimelineST {
  position: absolute;
  border-top: 2px dashed #274671; }

.xaCalNowTimelineST {
  opacity: 0.5; }

/*Entries Page*/
.xaCalEntry {
  box-sizing: border-box;
  position: absolute;
  cursor: pointer;
  -webkit-box-shadow: 3px 3px 4px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 3px 3px 4px 0px rgba(0, 0, 0, 0.2);
  box-shadow: 3px 3px 4px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: box-shadow 0.4s;
  background: #7b8990;
  /*animation-duration: 0.25s;
    animation-name: calSlideIn;*/
  /* user colors*/ }
  .xaCalEntry.color_std {
    background: #ffdfb1; }
    .xaCalEntry.color_std > .entryContent {
      background: #fff4e4; }
  .xaCalEntry.color_project {
    background: #fceac5; }
    .xaCalEntry.color_project > .entryContent {
      background: #fad894; }
  .xaCalEntry.color_client {
    background: #d2f4ff; }
    .xaCalEntry.color_client > .entryContent {
      background: #9fe7ff; }
  .xaCalEntry.color_group {
    background: #e3ffe2; }
    .xaCalEntry.color_group > .entryContent {
      background: #b2ffaf; }
  .xaCalEntry.color_online {
    background: #17e6c3; }
    .xaCalEntry.color_online > .entryContent {
      background: #12B89C; }
  .xaCalEntry.color_canceld {
    transform: scale(0.9);
    transform-origin: top right;
    box-shadow: none;
    z-index: 0;
    filter: grayscale(40%) brightness(0.95);
    /*& > .entryContent {
            background: rgba(255, 255, 255, 0.25);
            color: rgba(black,0.5);
            &:before {
                content: "abgesagt:";
                font-size: xx-small;
                color: darkblue;
            }
        }*/ }
    .xaCalEntry.color_canceld:before {
      position: absolute;
      opacity: 1;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      /*background-color: rgba(255, 255, 255, 0.5);*/
      z-index: 1;
      content: " ";
      /*background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' preserveAspectRatio='none' viewBox='0 0 100 100'> canceld <path d='M0 5 L5 0 L100 95 L95 100' fill='#3d2b07' /><path d='M0 95 L5 100 L100 5 L95 0' fill='#3d2b07' /></svg>");*/
      /*color: rgba($Black, 0.50);*/
      /*background: linear-gradient(to left top, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%),linear-gradient(to left bottom, transparent 47.75%, currentColor 49.5%, currentColor 50.5%, transparent 52.25%);*/
      background: linear-gradient(to top left, transparent 0%, transparent calc(50% - 3px), currentColor 50%, transparent calc(50% + 3px), transparent 100%), linear-gradient(to top right, transparent 0%, transparent calc(50% - 3px), currentColor 50%, transparent calc(50% + 3px), transparent 100%);
      background: linear-gradient(to top left, transparent 0%, transparent calc(50% - 3px), rgba(16, 20, 45, 0.7) 50%, transparent calc(50% + 3px), transparent 100%), linear-gradient(to top right, transparent 0%, transparent calc(50% - 3px), rgba(16, 20, 45, 0.7) 50%, transparent calc(50% + 3px), transparent 100%);
      /*background-repeat: no-repeat;*/
      /*background-position: center center;*/
      background-size: 100% 100%, auto; }
    .xaCalEntry.color_canceld > .entryContent {
      border-color: transparent; }
  .xaCalEntry.color_usr1 {
    background: #fca9a9; }
    .xaCalEntry.color_usr1 > .entryContent {
      background: #fa7878; }
  .xaCalEntry.color_usr2 {
    background: #ffbf78; }
    .xaCalEntry.color_usr2 > .entryContent {
      background: #ffa745; }
  .xaCalEntry.color_usr3 {
    background: #ffed80; }
    .xaCalEntry.color_usr3 > .entryContent {
      background: #ffe64d; }
  .xaCalEntry.color_usr4 {
    background: #addf9c; }
    .xaCalEntry.color_usr4 > .entryContent {
      background: #8dd276; }
  .xaCalEntry.color_usr5 {
    background: #5cc6f6; }
    .xaCalEntry.color_usr5 > .entryContent {
      background: #2bb6f3; }
  .xaCalEntry.color_usr6 {
    background: #9591ec; }
    .xaCalEntry.color_usr6 > .entryContent {
      background: #6b66e5; }
  .xaCalEntry.color_usr7 {
    background: #daa2db; }
    .xaCalEntry.color_usr7 > .entryContent {
      background: #cb7dcc; }
  .xaCalEntry.color_usr8 {
    background: #c6ccc6; }
    .xaCalEntry.color_usr8 > .entryContent {
      background: #abb3ac; }
  .xaCalEntry .med-icon {
    color: #1b304f;
    position: absolute;
    bottom: -5px;
    right: -6px;
    font-size: 20px;
    opacity: 0.54;
    text-shadow: 0px 0px 3px white; }
  .xaCalEntry .xaCal-series {
    color: #274671; }
  .xaCalEntry.iPast {
    opacity: 0.90;
    box-shadow: none; }
    .xaCalEntry.iPast > .entryContent {
      border-color: transparent; }
  .xaCalEntry.iPast.iReview {
    border-left: 3px solid red; }
  .xaCalEntry .entryContent {
    position: absolute;
    top: 0;
    left: 0px;
    right: 0px;
    bottom: 0;
    padding-left: 2px;
    font-size: 12px;
    /*overflow-wrap: break-word;*/
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    border-top: 1px solid black;
    border-left: 1px solid black; }
  .xaCalEntry.iSmallH .entryContent, .xaCalEntry.iSmallW .entryContent {
    font-size: 10px; }
  .xaCalEntry.iSmallH.iLargeW .entryContent {
    font-size: 10px; }
  .xaCalEntry.iLargeW .entryContent {
    font-size: 14px; }

/*@keyframes calSlideIn{
    from {        
        opacity: 0;
        box-shadow: 20px 20px 40px rgba(0,0,0,0.25);
        transform: translate(15%,10%) scale(1.2,1.2);// rotate3d(1,1,0.1,00deg);
    }

    to {        
        
        transform: translate(0,0) scale(1,1); // rotate3d(1,1,1,0deg);
    }
}*/
.xaCalEntry.nullSTime > .entryContent::before {
  position: relative;
  left: -3px;
  top: -3px;
  z-index: 1;
  /*font-family: 'Glyphicons Halflings';
    content: "\e023"; // time*/
  font-family: fontAwesome;
  content: "\f017";
  font-size: 90%;
  margin-right: 0px;
  color: red; }

.xaCalEntry.hOver {
  outline: 1px solid rgba(16, 20, 45, 0.4);
  /*border: 1px solid darkblue;*/
  opacity: 1;
  /*0.93;*/
  z-index: 5;
  box-shadow: 6px 6px 8px 0px rgba(0, 0, 0, 0.5);
  transition: box-shadow 0.4s; }
  .xaCalEntry.hOver .entryContent {
    /*color: $CP-600;*/ }

.xaCalEntry:focus {
  outline: 2px solid rgba(63, 111, 181, 0.4); }

/*Entries Page*/
.xaCalAvail {
  box-sizing: border-box;
  position: absolute;
  background-color: lightblue;
  overflow: hidden;
  /*animation-duration: 0.5s;
    animation-name: calSlideAvail;*/ }

@keyframes calSlideAvail {
  from {
    opacity: 0.0;
    transform: translate(0%, -100%) scale(1, 1) rotate3d(1, 1, 0.1, 0deg); }
  to {
    opacity: 1;
    transform: translate(0, 0) scale(1, 1) rotate3d(1, 1, 1, 0deg); } }

/*Container*/
/*Butons*/
.xaCalButton {
  vertical-align: baseline;
  height: 2.7em;
  margin-bottom: 0.5em;
  margin-right: 0.5em;
  min-width: 3em;
  color: rgba(0, 0, 0, 0.84);
  border: 2px solid #FFFFFF;
  background-color: #FFFFFF;
  box-shadow: none; }
  .xaCalButton:hover {
    border-color: #3f6fb5;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2); }
  .xaCalButton:focus {
    border-color: #3f6fb5; }
  .xaCalButton.active {
    color: rgba(255, 255, 255, 0.84);
    border-color: #3f6fb5;
    background: #3f6fb5; }
    .xaCalButton.active:hover {
      border-color: #FFFFFF; }
    .xaCalButton.active:focus {
      border-color: #FFFFFF; }

.xaCalGrp {
  margin-right: 0px !important; }

.xaCalGrp-s {
  margin-right: 0px !important;
  border-bottom-left-radius: 0.5em;
  border-top-left-radius: 0.5em; }

.xaCalGrp-description.xaCalGrp-s {
  display: inline;
  padding: 0.5em;
  padding-bottom: 0.65em;
  margin-right: 0.5em;
  border-width: 2px;
  border: 2px solid #eee;
  background-color: white;
  margin-right: 0px !important;
  border-bottom-left-radius: 0.5em;
  border-top-left-radius: 0.5em; }

.xaCalGrp-e {
  border-bottom-right-radius: 0.5em;
  border-top-right-radius: 0.5em; }

.xaCalMenuDayTime {
  display: inline-block; }

/*.xaCaldKDatepicker.k-widget{ 
                    width: 2.2em;                    
                    
                    height: 2.0em;
                    padding: 0.2em;      
                    background-color: white;                             
                    position:relative;
                    top: -1px;
                    border: 2px solid #eee;                   
}
.xaCaldKDatepicker.k-input {display:none;}
.xaCaldKDatepicker.k-widget:hover {
            border-color: $button-hover-border-color;
        background-color: white;
        background-image:none;     
        box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
        transition: box-shadow border-radius 0.5s;
}
.xaCaldKDatepicker .k-select{     
                    background-color: white;                             
 
}*/
/* Components */
.xaCalControl.xaDatePicker {
  display: inline-block;
  vertical-align: top; }
  .xaCalControl.xaDatePicker > .xaGroup {
    vertical-align: bottom;
    margin-right: 0.2em;
    outline: 0;
    height: 2.7em;
    border-radius: 3px;
    padding: 0;
    color: rgba(0, 0, 0, 0.84);
    border: 2px solid #FFFFFF;
    background-color: #FFFFFF; }
    .xaCalControl.xaDatePicker > .xaGroup:hover {
      transition: 0.3s;
      border-color: #3f6fb5;
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2); }
    .xaCalControl.xaDatePicker > .xaGroup:focus {
      border-color: #FFFFFF; }

a.HREFhighlight {
  background-color: black;
  color: white; }

@media print {
  .xaCalEntry {
    background-color: #fff !important; }
  .xaCalendarMenu, .xaCalendarMenu * {
    display: none !important; } }

/* xaCalMatrix*/
.xaCalMatrixLabel {
  position: absolute;
  color: black;
  background-color: white;
  padding-top: 1em;
  border-bottom: 1px solid black;
  box-sizing: border-box;
  overflow: hidden;
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis; }

.xaCalMatrixLabel:hover {
  box-sizing: border-box;
  background-color: lightgray;
  cursor: pointer; }

.xaCalMatrixLabel.xaCalMatrixRowTotal {
  background-color: #fcfcfc;
  font-weight: bold;
  font-weight: bold; }

.xaCalMatrixLabel.xaCalMatrixRowTotal:hover {
  cursor: auto; }

.xaCalHMarker.matrix {
  background-color: white; }

.xaCalHMarker.xaCalMatrixRowTotal.matrix {
  background-color: #fcfcfc;
  border-top: 1px solid black; }

.xaCalMatrixEntry {
  box-sizing: border-box;
  position: absolute;
  border: none;
  padding-top: 1em;
  border-radius: 0px;
  background-color: white;
  text-align: right;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
  transition: 0.4s; }

.xaCalMatrixEntry.total {
  font-weight: bold; }

.xaCalMatrixEntry:hover {
  text-decoration: underline;
  transition: 0.4s; }

.xaCalSub.matrix {
  position: absolute;
  border: none;
  box-shadow: none;
  cursor: cell; }

/*Icons*/
.icon-rotate-180 {
  transform: rotate(-180deg);
  -moz-transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transition: 0.5s; }

.icon-rotate-0 {
  transition: 0.5s; }

.uiLinkButton {
  color: black !important;
  border: 1px solid gray;
  width: 100%;
  padding: 0.2em;
  margin-top: 0.2em;
  display: inline-block; }

/* Popup Window*/
.calPopUpB0CSS {
  /*line-height: 2em;*/ }
  .calPopUpB0CSS .btn {
    margin-top: 0.25em; }
  .calPopUpB0CSS .btn {
    width: calc(50% - 10px);
    /*width: 90%;*/
    vertical-align: bottom;
    overflow: hidden;
    display: inline-block;
    text-align: left;
    /*overflow-wrap: break-word;
        word-break: break-all;
        white-space: normal;*/
    padding: 4px 2px;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05); }
    .calPopUpB0CSS .btn.btn-edit {
      color: darkgreen; }
    .calPopUpB0CSS .btn.btn-delete {
      color: darkred; }

#xaSystemPrint {
  display: none;
  visibility: hidden;
  position: absolute; }

@media print {
  #xaSystemBody-std {
    display: none; }
  #xaSystemScreen {
    display: none; }
  #xaSystemPrint {
    position: absolute;
    top: 0px;
    left: 0px;
    display: block;
    visibility: visible;
    width: 100%;
    font-size: 10px; }
  h1, h2, h3, h4, h5 {
    font-weight: bold;
    page-break-after: avoid;
    page-break-inside: avoid; }
  h1 + p, h2 + p, h3 + p {
    page-break-before: avoid; }
  table, figure {
    page-break-inside: avoid; }
  body {
    visibility: hidden; }
  /**/
  @page {
    size: auto A4 landscape; }
  /*Bootstrap and chrom prints link urls, prevent that*/
  a[href]:after, img[src]:after {
    content: none !important; }
  /* Dont Show Page xaMenus*/
  .xaMenu, .xaMenuBody {
    display: none !important; }
  /* Title of a Window*/
  .xaPrint-winHeader {
    font-size: 14px;
    margin-bottom: 1em;
    padding-bottom: 4px;
    border-bottom: 2px solid black; }
  .ql-toolbar {
    display: none; }
  /*Forms*/
  .SAF_Form {
    font-size: 10px;
    /**/ }
    .SAF_Form h1, .SAF_Form h2, .SAF_Form h3, .SAF_Form h4,
    .SAF_Form .mbfControlGroup-legend {
      font-size: 12px !important; }
    .SAF_Form .slider-checkbox {
      transform-origin: top left;
      transform: scale(0.8); }
      .SAF_Form .slider-checkbox label {
        border: none; }
    .SAF_Form .tab-links {
      display: none; }
    .SAF_Form .tab {
      display: block !important; }
  /*SubForms*/
  .caCEFButtonBody {
    display: none; }
  /* Tables*/
  /*cardview*/
  .caTDContainer {
    display: block;
    box-sizing: border-box;
    overflow: visible;
    position: relative;
    padding: 0px;
    width: 100%; }
    .caTDContainer .mbtHeader-Card {
      display: none; }
    .caTDContainer .mtbBody-Card {
      display: block; }
    .caTDContainer .mbtRow-Card {
      display: inline-block;
      width: 300px;
      word-wrap: break-word;
      /*page-break-before: always;
        page-break-inside: avoid;*/ }
    .caTDContainer .card-HRL, .caTDContainer .card {
      font-size: 16px; }
    .caTDContainer .card-headerLink:first-line {
      font-size: 14px; }
    .caTDContainer .mbtRow-Card {
      margin-left: 1em; }
  /*footer {page-break-after: always;}*/ }

/*!
 * ClockPicker v{package.version} for Bootstrap (http://weareoutman.github.io/clockpicker/)
 * Copyright 2014 Wang Shenwei.
 * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
 */
.popover.clockpicker-popover {
  box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.25);
  border: 3px solid rgba(109, 154, 204, 0.46);
  border-radius: 0px; }

.clockpicker .input-group-addon {
  cursor: pointer; }

.clockpicker-moving {
  cursor: move; }

.clockpicker-align-left.popover > .arrow {
  left: 25px; }

.clockpicker-align-top.popover > .arrow {
  top: 17px; }

.clockpicker-align-right.popover > .arrow {
  left: auto;
  right: 25px; }

.clockpicker-align-bottom.popover > .arrow {
  top: auto;
  bottom: 6px; }

.clockpicker-popover .popover-title {
  background-color: #fff;
  color: #AAA;
  font-size: 24px;
  font-weight: bold;
  line-height: 30px;
  text-align: center; }

.clockpicker-popover .popover-title span {
  cursor: pointer; }

.clockpicker-popover .popover-content {
  background-color: #fdfdfd;
  padding: 12px; }

.popover-content:last-child {
  /*border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;*/ }

.clockpicker-plate {
  background-color: #fff;
  border: 1px solid rgba(9, 62, 173, 0.53);
  border-radius: 50%;
  width: 200px;
  height: 200px;
  overflow: visible;
  position: relative;
  /* Disable text selection highlighting. Thanks to Hermanya */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.clockpicker-canvas,
.clockpicker-dial {
  width: 200px;
  height: 200px;
  position: absolute;
  left: -1px;
  top: -1px; }

.clockpicker-minutes {
  visibility: hidden; }

.clockpicker-tick {
  border-radius: 50%;
  color: #444;
  line-height: 26px;
  text-align: center;
  width: 26px;
  height: 26px;
  position: absolute;
  cursor: pointer; }

.clockpicker-tick.active,
.clockpicker-tick:hover {
  background-color: rgba(0, 83, 158, 0.2); }

.clockpicker-button {
  background-image: none;
  background-color: #fff;
  border-width: 1px 0 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin: 0;
  padding: 10px 0; }

.clockpicker-button:hover {
  background-image: none;
  background-color: #ebebeb; }

.clockpicker-button:focus {
  outline: none !important; }

.clockpicker-dial {
  -webkit-transition: -webkit-transform 350ms, opacity 350ms;
  -moz-transition: -moz-transform 350ms, opacity 350ms;
  -ms-transition: -ms-transform 350ms, opacity 350ms;
  -o-transition: -o-transform 350ms, opacity 350ms;
  transition: transform 350ms, opacity 350ms; }

.clockpicker-dial-out {
  opacity: 0; }

.clockpicker-hours.clockpicker-dial-out {
  -webkit-transform: scale(1.2, 1.2);
  -moz-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  -o-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2); }

.clockpicker-minutes.clockpicker-dial-out {
  -webkit-transform: scale(0.8, 0.8);
  -moz-transform: scale(0.8, 0.8);
  -ms-transform: scale(0.8, 0.8);
  -o-transform: scale(0.8, 0.8);
  transform: scale(0.8, 0.8); }

.clockpicker-canvas {
  -webkit-transition: opacity 175ms;
  -moz-transition: opacity 175ms;
  -ms-transition: opacity 175ms;
  -o-transition: opacity 175ms;
  transition: opacity 175ms; }

.clockpicker-canvas-out {
  opacity: 0.25; }

.clockpicker-canvas-bearing,
.clockpicker-canvas-fg {
  stroke: none;
  fill: #6d9acc; }

.clockpicker-canvas-bg {
  stroke: none;
  fill: #CDDDF7; }

.clockpicker-canvas-bg-trans {
  fill: rgba(0, 83, 158, 0.2); }

.clockpicker-canvas line {
  stroke: #6d9acc;
  stroke-width: 2;
  stroke-linecap: round;
  /*shape-rendering: crispEdges;*/ }

.clockpicker-button.am-button {
  margin: 1px;
  padding: 5px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px; }

.clockpicker-button.pm-button {
  margin: 1px 1px 1px 136px;
  padding: 5px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px; }

/* Files and Folders styles*/
/* .SAF-FILESFOLDERS class used by code */
.saf-filesF-layout {
  background: white;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid lightgray;
  width: 100%;
  position: absolute;
  /*.SAF-FOLDER.saf-folder-m {

        display: block;
        width: 100%;
        overflow: auto;

        .saf-fileItem {
            font-size: 20px;
            border: 1px solid transparent;
            overflow: hidden;
            margin: 0px 6px 6px 0;

            &:hover {
                box-shadow: 5px 5px 15px rgba(0,0,0,0.2);
            }
        }
    }*/ }
  .saf-filesF-layout .SAF-FF-HEADER {
    background: lightgray;
    min-height: 2em;
    border: 1px solid gray;
    padding: 2px;
    display: flex; }
    .saf-filesF-layout .SAF-FF-HEADER .SAF-FF-PATHNAV {
      background: #FAFAFA;
      padding-left: 3px;
      margin-right: 6px;
      flex: 1 1 300px;
      color: #274671; }
    .saf-filesF-layout .SAF-FF-HEADER .SAF-FF-MENU {
      flex: 0 1 auto;
      /* File Input Button*/
      /* end File input Button*/ }
      .saf-filesF-layout .SAF-FF-HEADER .SAF-FF-MENU .SAF-FileButton {
        overflow: hidden;
        position: relative; }
      .saf-filesF-layout .SAF-FF-HEADER .SAF-FF-MENU .SAF-FileButton [type=file] {
        cursor: inherit;
        display: block;
        font-size: 999px;
        filter: alpha(opacity=0);
        min-height: 100%;
        min-width: 100%;
        opacity: 0;
        position: absolute;
        right: 0;
        text-align: right;
        top: 0; }
  .saf-filesF-layout .SAF-FF-INPUT > div {
    background: lightgray;
    flex: 5 0 auto;
    vertical-align: baseline;
    padding: 0.5em 0.5em 0 0; }
    .saf-filesF-layout .SAF-FF-INPUT > div input {
      background: white;
      margin: 0 1em 0 1em;
      padding: 0.25em;
      color: black;
      border: none; }
    .saf-filesF-layout .SAF-FF-INPUT > div label {
      font-weight: normal; }
  .saf-filesF-layout .SAF-FF-INPUT .SAF-FF-CREATEDIR {
    display: none; }
  .saf-filesF-layout .SAF-FOLDER {
    overflow: auto;
    padding: 1em 0 1em 0; }
  .saf-filesF-layout .SAF-FILE-PATHITEM {
    display: inline-block;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    border-top: 2px solid transparent;
    margin: 3px 0 3px 0; }
    .saf-filesF-layout .SAF-FILE-PATHITEM:hover, .saf-filesF-layout .SAF-FILE-PATHITEM:focus {
      color: #274671;
      background-color: #ccd9ed;
      border-color: #3f6fb5;
      transition: 1s; }
  .saf-filesF-layout .SAF-FF-OUTPUT {
    display: none;
    max-height: 30px;
    border-top: 1px solid lightgray;
    overflow-y: auto;
    color: rgba(0, 0, 0, 0.54); }
    .saf-filesF-layout .SAF-FF-OUTPUT p {
      margin: 0px; }
  .saf-filesF-layout .SAF-FF-MAIN {
    min-height: 300px; }

@keyframes ff-wownloading {
  0% {
    transform: scale(1);
    filter: drop-shadow(1px 1px 1px black);
    outline: none; }
  70% {
    transform: scale(1.3) translate(0, 30%);
    filter: drop-shadow(30px 30px 50px black);
    outline: none;
    background-color: green;
    opacity: 0.5; } }
  .saf-filesF-layout .SAF-FOLDER.saf-folder-sm {
    /*background: lightgray;*/
    display: flex;
    flex-wrap: wrap;
    /*min-height: 300px;*/ }
    .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM {
      text-align: center;
      flex: 0 1 80px;
      height: auto;
      border: 1px solid transparent;
      overflow: visible;
      padding: 6px 3px 3px 6px;
      margin: 3px;
      /*box-shadow: 3px 3px 10px rgba(0,0,0,0.2);*/
      /*File Icon*/ }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM:focus, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM:focus {
        outline: 1px solid black; }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM.SAF-FF-downloading, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM.SAF-FF-downloading {
        outline: 2px solid darkgray !important;
        animation: ff-wownloading 0.3s; }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM.RENAMING, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM.RENAMING {
        outline: 2px solid gold; }
        .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM.RENAMING .saf-fileText > span, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM.RENAMING .saf-fileText > span {
          display: none; }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM .saf-fileText, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM .saf-fileText {
        margin-top: 6px;
        line-height: 1.1;
        font-size: 12px;
        color: rgba(0, 0, 0, 0.84);
        display: block;
        word-break: break-all;
        text-overflow: ellipsis; }
        .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM .saf-fileText .SAF-FILE-RENAME input, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM .saf-fileText .SAF-FILE-RENAME input {
          color: darkred;
          border: none;
          background: rgba(255, 255, 255, 0.7);
          padding: 0.3em; }
        .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM .saf-fileText .SAF-FILE-RENAME button, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM .saf-fileText .SAF-FILE-RENAME button {
          margin-top: 1em;
          background: rgba(255, 255, 255, 0.7);
          border: 1px solid gray; }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM:hover, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM:hover {
        /*border: 1px solid gray;*/
        background: #e3f5fc; }
      .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-ITEM.SELECTED, .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM.SELECTED {
        background: rgba(42, 44, 139, 0.2);
        /*border: 1px solid gray;*/ }
    .saf-filesF-layout .SAF-FOLDER.saf-folder-sm .SAF-FILE-VIRTUALITEM {
      opacity: 0.7; }

.SAF-fileIcon {
  font-size: 33px;
  display: inline-block;
  position: relative; }
  .SAF-fileIcon .svgIcon {
    height: auto;
    width: 1.75em;
    display: block; }
  .SAF-fileIcon .fa {
    display: block; }
  .SAF-fileIcon .icon-fileExt {
    position: absolute;
    bottom: 0.35em;
    left: 0.35em;
    font-size: 33%;
    max-width: calc(100% - 0.7em);
    overflow: hidden; }
  .SAF-fileIcon .bg {
    opacity: 0.1; }
  .SAF-fileIcon .fg {
    position: absolute;
    top: 0; }
  .SAF-fileIcon .col-doc {
    color: #2a5699; }
  .SAF-fileIcon .col-xls {
    color: #195f38; }
  .SAF-fileIcon .col-pdf {
    color: #861914; }
  .SAF-fileIcon .col-img {
    color: #4a5586; }
  .SAF-fileIcon .col-zip {
    color: #8a7738; }
  .SAF-fileIcon .bg.col-zip {
    color: #fee48f;
    opacity: 1 !important; }
  .SAF-fileIcon .col-ukn {
    color: #333; }
  .SAF-fileIcon .col-fold {
    font-size: 125%;
    top: -0.0875em;
    color: #edb053;
    color: #cfb76b; }
  .SAF-fileIcon .bg.col-fold {
    position: relative;
    top: -0.0875em;
    color: #f5b859;
    color: #fee48f;
    opacity: 1 !important;
    filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3)); }

.SAF-PROGRESSBAR {
  background: white;
  position: relative;
  overflow: hidden;
  font-size: 11px;
  border-bottom: 1px solid lightgray; }
  .SAF-PROGRESSBAR :first-child {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis; }
  .SAF-PROGRESSBAR :last-child {
    width: 0%;
    /* Adjust with JavaScript */
    height: 8px;
    background: #34b95b;
    border: 1px solid darkgreen;
    margin-bottom: 5px; }

.SAF-UPLOADERBLOCK {
  /*box-shadow: 2px 2px 2px rgba(0,0,0,0.2);*/
  border-top: 1px lightgray dashed;
  padding: 6px 8px;
  margin-bottom: 1em; }
  .SAF-UPLOADERBLOCK form {
    display: none; }

@viewport {
  zoom: 1.0;
  width: device-width; }

body {
  touch-action: manipulation;
  /*introduce 2018-07 prevent double tap zoom on ios*/ }

body {
  background-color: #2A2A2A;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  color: rgba(0, 0, 0, 0.84); }

/*body {
    filter: saturate(1) brightness(0.8) !important;
}*/
.DarkThemeSimul {
  filter: invert(1) hue-rotate(320deg) saturate(1.1) brightness(1.2) !important; }
  .DarkThemeSimul * img {
    filter: invert(1) hue-rotate(40deg) saturate(0.9) brightness(0.833) !important; }
  .DarkThemeSimul * {
    box-shadow: none !important;
    text-shadow: none !important; }
  .DarkThemeSimul .sfWindow3 {
    outline: 1px solid #777; }
  .DarkThemeSimul .xaMenuGeneralCSS {
    background-color: #FAFADA !important; }

/*body {
    ::selection {
        background: rgba(242, 156, 21, 0.82);
        color: #feffb8;
    }
}*/
#xaSystemBody {
  /*background-color: cadetblue;*/ }

/*----- General -----*/
/* Bootstrap */
/* Override some Bootstrap properties */
a {
  color: #335a93;
  font-weight: normal; }

a:hover, a:focus, a:active {
  color: #335a93; }

input {
  background: transparent; }

ul.nav-pills {
  display: inline-block; }

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
  white-space: normal; }

/* similar to .caButton*/
/*.nav > li > a {
    color: black;
    padding: 0.6em 1em;
}

.nav > li > a:hover {
    background-color: white;
    background-image: none;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}*/
/* bootstrap buttons*/
.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
  outline: 0px auto -webkit-focus-ring-color;
  outline-offset: 0px; }

.btn {
  text-shadow: none;
  border: 1px solid transparent;
  border-radius: 0;
  margin-right: 0.5em;
  box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
  border-radius: 0; }
  .btn.btn-default {
    background: #FAFAFA; }
  .btn.btn-primary {
    background: #335a93;
    box-shadow: none; }
  .btn:hover, .btn:focus {
    border-color: #10142d;
    box-shadow: 6px 6px 20px rgba(0, 0, 0, 0.3); }
  .btn:active:focus {
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.3); }

/* window Footer*/
.xaWinFooter {
  /*buttons in alerts*/ }
  .xaWinFooter .btn {
    box-shadow: none;
    position: relative;
    border: 3px solid transparent; }
  .xaWinFooter .btn:hover, .xaWinFooter .btn:focus {
    border: 3px solid #10142d; }
  .xaWinFooter .btn-default {
    background: transparent; }
  .xaWinFooter .btn-primary {
    background: #335a93; }
  .xaWinFooter .btn.btnalert {
    background: rgba(255, 255, 255, 0.5);
    /*box-shadow: $shadow-low;*/
    margin-right: 0;
    min-width: 6em; }

.xaWinPop .xaWinBody .btn.btn-default {
  background: #335a93;
  color: #FFFFFF;
  border: none;
  border-radius: 2px; }

.xaWinPop .xaWinBody .btn.btn-default:hover {
  background: #335a93; }

/* 
    Filters 

*/
/* Base-class for filter controls which are placed into the xaMenu Structure*/
.xaFilterPlaceholder, .xaMenuItemsPlace, .xaAddPlaceholder, .xaLocalNavigation {
  display: inline; }

.saf-navwindow-shown .xaLocalNavigation {
  display: none !important; }

.filterControl {
  display: inline-block;
  padding-left: 0.6em;
  padding-right: 0.6em;
  border: 2px solid #ecebe6;
  margin-right: 0.2em;
  vertical-align: top;
  outline: 0;
  height: 2.7em;
  width: 100%;
  border-radius: 3px;
  background: #FFFFFF; }
  .filterControl.DISABLE {
    border: transparent; }
  .filterControl:focus, .filterControl:focus-within {
    border-color: #3f6fb5;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
    outline: 0;
    transition: 0.5s; }

/*select.filterControl {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;

    option {
        color: #666;
    }
    // ie
    ::-ms-expand {
        display: none;
    }

    :focus::-ms-value {
        background-color: transparent;
    }
    ::before { content: ">"}
}*/
.filterControl-widget-date {
  width: 200px;
  padding-right: 0 !important;
  padding-left: 0 !important;
  padding-top: 2px; }
  .filterControl-widget-date > div {
    width: 100% !important; }
  .filterControl-widget-date:focus {
    border-color: #3f6fb5;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
    outline: 0;
    transition: 0.5s; }

.filterControl-widget-multi {
  width: 250px;
  padding: 0px;
  /*    input:focus {
        border-color: $MenugGeneral-filterControl-border-focus;
    }*/ }
  .filterControl-widget-multi.primary input[readonly="readonly"], .filterControl-widget-multi.primary input[readonly] {
    background: #1b304f; }
  .filterControl-widget-multi.primary input::placeholder {
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .filterControl-widget-multi .caInput {
    border: none; }
  .filterControl-widget-multi .xaGroup {
    width: 100%; }

.filterControl-TextBox {
  width: 150px; }

.filterControl-TextBox.primary {
  width: 250px; }

.filterControl-PreValues {
  /*width: 150px; */
  width: auto; }

.xaSubMenu.visible .filterControl-FilterIcon:before {
  color: rgba(255, 255, 255, 0.84); }

.addToContextMenu {
  display: none; }

/* 
    custom Button often used in xaSystem

*/
.caMenuBt {
  height: 2.7em;
  margin-right: 0.2em;
  border-width: 2px;
  border: 2px solid #eee;
  background-color: white;
  background-image: none;
  box-shadow: none; }
  .caMenuBt:hover {
    border-color: #3f6fb5 !important;
    background-color: white !important;
    background-image: none;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
    transition: box-shadow border-radius 0.5s;
    border-radius: 0; }
  .caMenuBt:focus {
    background-image: none;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.15);
    transition: box-shadow border-radius 0.5s;
    border-radius: 0;
    background-color: white !important; }

/* main page - placed in a window body --> could be set on xaWinC4*/
.xaWinC4 {
  background-color: #ecebe6;
  background: #ecebe6; }

textArea {
  resize: none; }

/* inlay of a Body-content*/
.safran-page-container {
  /*border: 3px solid $CP-800;*/
  border-bottom: none;
  background-color: #FFFFFF;
  background: radial-gradient(circle, white 0%, #f0f0f0 73%, white 100%);
  margin: 0;
  min-width: 300px; }
  .safran-page-container.XA-Panel {
    padding: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px; }

/*XA-Panels in windows */
.XA-Panel-Menu {
  /*touch-action:none;*/
  position: absolute; }
  .XA-Panel-Menu:hover {
    z-index: 10; }

.XA-Panel-MenuBody {
  /*touch-action:none;*/
  position: absolute;
  max-width: 240px;
  overflow: auto; }
  .XA-Panel-MenuBody:hover {
    z-index: 10; }

.XA-Panel .xaMessagesBody {
  display: none; }

/*.XA-Panel.menuActive .XA-Panel-Menu, .XA-Panel.menuActive .XA-Panel-MenuBody {
      z-index:10;
  }*/
/* Menu in Pages */
/*Defines the xaMenues*/
.xa-Panel-showButton {
  position: absolute;
  top: 0;
  left: 50%;
  height: 22px;
  padding: 20px;
  border: none;
  z-index: 11;
  background-color: #FFFFFF;
  font-size: 12px; }

.xa-Panel-showButton:before {
  position: relative;
  width: 20px;
  height: 20px;
  border: 20px solid red; }

.xaMenu {
  /*identifier*/ }

.xaMenu .glyphicon, .xaMenu .fa {
  color: #000000; }

.xaMenuBody {
  /*identifier*/ }

/*
    Menu in Forms 
    (xaDialog)

*/
.xaMenuFormCSS {
  position: relative;
  top: 0em;
  margin-bottom: 0px;
  padding-bottom: 0px;
  color: #FFFFFF;
  background: #274671;
  /* #e8ca2d; /*#131e66;*/ }

.xaMenuScope.XA-Panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

/*Tables embeded in Forms, the local Menu*/
.xaMenuTableCSS {
  position: relative;
  padding: 2px 0 0 0px;
  background: none; }
  .xaMenuTableCSS .xaSubMenu::after {
    color: rgba(0, 0, 0, 0.5); }
  .xaMenuTableCSS .xaSubMenu.visible {
    border-color: #F0F0F0;
    background: #c6c6c6 !important;
    color: #FAFAFA !important;
    box-shadow: -5px -5px 30px rgba(0, 0, 0, 0.2) inset; }
    .xaMenuTableCSS .xaSubMenu.visible::after {
      color: #FAFAFA; }
  .xaMenuTableCSS input, .xaMenuTableCSS a {
    margin-right: 5px; }
  .xaMenuTableCSS .caMenuBt, .xaMenuTableCSS .filterControl {
    margin-bottom: 2px; }

.xaMenuBodyTableCSS {
  padding: 1px 0 0 2px;
  background: #F6F6F6; }

.tabs .tab-links {
  padding-left: 0px;
  margin: 0; }
  .tabs .tab-links > li {
    z-index: 0;
    position: relative; }
    .tabs .tab-links > li.active, .tabs .tab-links > li:hover {
      z-index: 1;
      top: 0px;
      box-shadow: 12px 12px 32px rgba(0, 0, 0, 0.2);
      border-bottom: #FFFFFF; }
    .tabs .tab-links > li a {
      color: #011d1a;
      border-radius: 3px 3px 0 0;
      border-bottom: none;
      padding: 0.5em 0.75em; }
      .tabs .tab-links > li a > i {
        min-width: 1.5em; }

.tabs .tab-content {
  /*z-index: 1; uuuuuuhps..... redesign?*/
  border: none; }

/* Panels in Submenus */
.xaMenuBodyGeneralCSS > .xaSubMenuPanel:not(:first-child) {
  border-top: 1px dashed #ccc; }

.xaSubMenuPanel {
  padding: 0.5em;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

/* Button for Open/Closing Submenu-Panels*/
.xaSubMenu {
  position: relative;
  padding-right: 1.5em; }
  .xaSubMenu::after {
    position: absolute;
    right: 0.7em;
    bottom: 0px;
    font-weight: normal;
    color: #777;
    /*font-family: 'Glyphicons Halflings';
        content: "\e252"; 
        font-size: xx-small;
        */
    font-family: fontAwesome;
    content: "\f141";
    font-size: small; }
  .xaSubMenu.visible {
    border-color: #000000;
    border-bottom-color: transparent;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: #3f6fb5 !important;
    color: rgba(255, 255, 255, 0.84) !important;
    transition: 0.5s; }
  .xaSubMenu.visible::after {
    /*content: "\e253"; // glyphicon triangle*/
    content: "\f0d8"; }

/* Menu in Main Page*/
.xaMenuGeneralCSS {
  padding-bottom: 0.2em;
  padding-top: 0.5em; }

/*.xaMenuGeneralCSS {
    // test scrollable Menu
    // new 2019-09
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap !important;
    overflow: auto;

    .xaFilterPlaceholder {
        display: flex; 
    }
}*/
.Bw-l800 {
  /*.xaMenuBodyGeneralCSS {
        position: sticky !important;
        top: 36px;
        z-index: 1;
    }*/ }
  .Bw-l800 .xaMenuGeneralCSS {
    position: sticky !important;
    top: 0;
    z-index: 2; }

.xaMenuGeneralCSS, .xaMenuFormCSS {
  position: relative;
  border-bottom: 0px solid #3f6fb5;
  color: #FFFFFF;
  background: #274671;
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.3);
  /* Filters in Menu General*/
  /* placeholder DateRange */
  /*.generalMenuIconC > *, // new version // repace old one generalMenuIcon asap with newone*/ }
  .xaMenuGeneralCSS .filterControl, .xaMenuFormCSS .filterControl {
    color: white;
    border: 2px solid transparent;
    background: #1b304f;
    /*&.filterControl-TextBox {
            border: 2px solid darken($MenugGeneral-filterControl-background,12);
        }*/ }
    .xaMenuGeneralCSS .filterControl:focus, .xaMenuFormCSS .filterControl:focus {
      border-color: #3f6fb5; }
    .xaMenuGeneralCSS .filterControl.DISABLE, .xaMenuFormCSS .filterControl.DISABLE {
      background-color: #274671; }
  .xaMenuGeneralCSS .filterControl::-webkit-input-placeholder, .xaMenuFormCSS .filterControl::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .filterControl::-moz-placeholder, .xaMenuFormCSS .filterControl::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .filterControl:-ms-input-placeholder, .xaMenuFormCSS .filterControl:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .filterControl::placeholder, .xaMenuFormCSS .filterControl::placeholder {
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .xaDateRangeSelector::-webkit-input-placeholder, .xaMenuFormCSS .xaDateRangeSelector::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .xaDateRangeSelector::-moz-placeholder, .xaMenuFormCSS .xaDateRangeSelector::-moz-placeholder {
    /* Firefox 19+ */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .xaDateRangeSelector:-ms-input-placeholder, .xaMenuFormCSS .xaDateRangeSelector:-ms-input-placeholder {
    /* IE 10+ */
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .xaDateRangeSelector::placeholder, .xaMenuFormCSS .xaDateRangeSelector::placeholder {
    color: rgba(255, 255, 255, 0.64);
    font-size: x-small; }
  .xaMenuGeneralCSS .filterControl-FilterIcon:before, .xaMenuFormCSS .filterControl-FilterIcon:before {
    color: rgba(255, 255, 255, 0.84); }
  .xaMenuGeneralCSS .caMenuBt, .xaMenuGeneralCSS .filterControl, .xaMenuFormCSS .caMenuBt, .xaMenuFormCSS .filterControl {
    margin-bottom: 2px; }
  .xaMenuGeneralCSS .caMenuBt, .xaMenuFormCSS .caMenuBt {
    vertical-align: top;
    color: rgba(255, 255, 255, 0.84) !important;
    border: 2px solid transparent;
    background: #1b304f; }
    .xaMenuGeneralCSS .caMenuBt:hover, .xaMenuGeneralCSS .caMenuBt:focus, .xaMenuFormCSS .caMenuBt:hover, .xaMenuFormCSS .caMenuBt:focus {
      border-color: #3f6fb5 !important;
      background: rgba(63, 111, 181, 0.8) !important; }
  .xaMenuGeneralCSS .xaGroup-widget, .xaMenuFormCSS .xaGroup-widget {
    background: #1b304f; }
  .xaMenuGeneralCSS .glyphicon, .xaMenuGeneralCSS .fa, .xaMenuFormCSS .glyphicon, .xaMenuFormCSS .fa {
    color: rgba(255, 255, 255, 0.84); }
  .xaMenuGeneralCSS .dropdown-menu .glyphicon, .xaMenuGeneralCSS .dropdown-menu .fa, .xaMenuFormCSS .dropdown-menu .glyphicon, .xaMenuFormCSS .dropdown-menu .fa {
    color: inherit;
    margin-right: 0.25em; }
  .xaMenuGeneralCSS .xaSubMenu::after, .xaMenuFormCSS .xaSubMenu::after {
    color: rgba(255, 255, 255, 0.5); }
  .xaMenuGeneralCSS .xaSubMenu.visible, .xaMenuFormCSS .xaSubMenu.visible {
    background: #3f6fb5 !important;
    color: rgba(255, 255, 255, 0.84) !important; }
  .xaMenuGeneralCSS .localNavButtonCSS, .xaMenuFormCSS .localNavButtonCSS {
    margin-left: 0.5em; }
  .xaMenuGeneralCSS .xaPageIconContainer, .xaMenuFormCSS .xaPageIconContainer {
    padding: 6px 6px 0 6px;
    display: inline-block;
    height: 2.7em;
    padding-left: 0.8em;
    padding-right: 0.8em;
    vertical-align: bottom;
    transform: scale(1.5);
    display: none; }
    .xaMenuGeneralCSS .xaPageIconContainer *, .xaMenuFormCSS .xaPageIconContainer * {
      color: rgba(204, 217, 237, 0.5); }
  .xaMenuGeneralCSS .generalMenuIcon, .xaMenuFormCSS .generalMenuIcon {
    color: rgba(204, 217, 237, 0.5);
    font-size: 150% !important;
    padding-left: 6px; }

.xaMenuBodyGeneralCSS {
  font-size: small;
  padding-bottom: 4px;
  margin-bottom: 12px;
  background-color: #ecebe6;
  /*#FDFDFD;*/
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.3); }

.xaMenuGeneralCSS {
  padding: 0.25em;
  padding-top: 0.5em;
  /*position: sticky;
    top: 0px;
    right: 1px;
    z-index: 5;*/ }

.safran-page-container {
  min-height: calc(var(--xaWinBody-height) - 5px); }

@media (min-width: 992px) {
  .safran-page-container {
    /*border: solid 0.5px $c858380;
        border-radius: 2px;
        margin-left: 1px;
        margin-right: 1px;
        margin-top: 3px;
        margin-bottom: 2px;   removed 2020-1*/ }
    .safran-page-container.XA-Panel {
      position: absolute;
      top: 10px;
      left: 10px;
      bottom: 10px;
      right: 10px; } }

@media (max-width: 991px) {
  /*.safran-page-container {
        margin: 0px;
        border: solid 0.5px $c858380;
        border-radius: 2px;
    }*/ }

.Bw-l400 .safran-page-content {
  padding: 6px;
  padding: 0 6px; }

/*
    Forms
*/
label.inputNotValid, select.inputNotValid {
  border: 2px solid #f7a791;
  border-radius: 3px; }

input.inputNotValid, select.inputNotValid {
  border: 2px solid #f7a791;
  background-color: #f7a791; }

/* Legend */
.mbfControlGroup-legend {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.15);
  margin-bottom: 1em;
  padding-top: 0.3em;
  padding-left: 5px; }
  .mbfControlGroup-legend > span {
    font-weight: 600; }
  .mbfControlGroup-legend::before {
    /*custom Icon*/
    /*font-family: 'Glyphicons Halflings';
        content: "\e041";*/
    font-family: fontAwesome;
    content: "\f02b"; }

.mbfControlGroup.form-recordInfo {
  border-top: 1px dashed rgba(0, 0, 0, 0.15);
  background: white;
  margin-top: 3em; }
  .mbfControlGroup.form-recordInfo .mbfControlGroup-legend {
    display: block;
    margin-right: 2em;
    border-bottom: none;
    margin-bottom: 0; }
    .mbfControlGroup.form-recordInfo .mbfControlGroup-legend:before {
      content: ""; }
  .mbfControlGroup.form-recordInfo .mbfControlGroup-body {
    display: inline-block; }

/* sub Forms*/
.caCEFButtonBody .btn-default {
  background: white;
  border-radius: 2px;
  border-color: transparent;
  font-size: small;
  color: rgba(51, 90, 147, 0.84); }

/* 
    Watch 
*/
#watchCanvas {
  cursor: pointer; }

/*StartMenu Items*/
#trText, #trNotes {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.84);
  background: #ecebe6;
  width: 92% !important;
  border: 1px solid gray; }

.anim-trNotes-saved {
  animation-duration: 0.8s;
  animation-name: key-anim-trNotes-saved; }

@keyframes key-anim-trNotes-saved {
  from {
    outline: 5px solid rgba(0, 100, 0, 0); }
  50% {
    outline: 5px solid darkgreen; }
  to {
    outline: 0px solid rgba(255, 0, 0, 0); } }

/* Calendar Start Menu*/
.xa-startmenu .xaCalendarContainer,
.xa-startmenu .xaCalendarTimeFrame {
  background: #ecebe6; }

/* Message window*/
.saf-message-container, .saf-placeholder-article {
  color: rgba(0, 0, 0, 0.84);
  -webkit-touch-callout: unset;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  /*    p + p {
        text-indent: 1em;
    }*/
  /*    p {
        margin: 0 auto;
    }*/
  /*    blockquote p {
        hanging-punctuation: first;
    }*/
  /*    ul, ol {
        padding-left: 0;
        list-style-position: outside;
    }*/
  font-size: 14px;
  line-height: 23px;
  /*    font-family: sans-serif;*/
  font-size: 1em;
  line-height: 1.64285714em;
  max-width: 560px;
  margin: auto;
  /*h4, .h4 {
        font-size: 1em;
        line-height: 1.64285714em;
        margin-top: 1.64285714em;
        margin-bottom: 0em;
    }*/
  /* Let's make sure all's aligned */ }
  .saf-message-container h1, .saf-message-container h2, .saf-message-container h3, .saf-message-container h4, .saf-message-container h5, .saf-placeholder-article h1, .saf-placeholder-article h2, .saf-placeholder-article h3, .saf-placeholder-article h4, .saf-placeholder-article h5 {
    /*font-family: "Open Sans", sans-serif;*/
    font-family: Verdana, Geneva, sans-serif;
    font-weight: 600; }
  .saf-message-container h1, .saf-message-container .h1, .saf-placeholder-article h1, .saf-placeholder-article .h1 {
    font-size: 2.85714286em;
    line-height: 1.15em;
    margin-top: 0.575em;
    margin-bottom: 1.15em; }
  .saf-message-container h2, .saf-message-container .h2, .saf-placeholder-article h2, .saf-placeholder-article .h2 {
    font-size: 2em;
    line-height: 1.64285714em;
    margin-top: 0.82142857em;
    margin-bottom: 0.82142857em; }
  .saf-message-container h3, .saf-message-container .h3, .saf-message-container h4, .saf-message-container .h4, .saf-placeholder-article h3, .saf-placeholder-article .h3, .saf-placeholder-article h4, .saf-placeholder-article .h4 {
    font-size: 1.42857143em;
    line-height: 1.15em;
    margin-top: 1.15em;
    margin-bottom: 0em; }
  .saf-message-container h5, .saf-message-container .h5, .saf-placeholder-article h5, .saf-placeholder-article .h5 {
    font-size: 1em;
    line-height: 1.64285714em;
    margin-top: 1.64285714em;
    margin-bottom: 0em; }
  .saf-message-container p, .saf-message-container ul, .saf-message-container ol, .saf-message-container pre, .saf-message-container table, .saf-message-container blockquote, .saf-placeholder-article p, .saf-placeholder-article ul, .saf-placeholder-article ol, .saf-placeholder-article pre, .saf-placeholder-article table, .saf-placeholder-article blockquote {
    margin-top: 0em;
    margin-bottom: 1.64285714em; }
  .saf-message-container ul ul, .saf-message-container ol ol, .saf-message-container ul ol, .saf-message-container ol ul, .saf-placeholder-article ul ul, .saf-placeholder-article ol ol, .saf-placeholder-article ul ol, .saf-placeholder-article ol ul {
    margin-top: 0em;
    margin-bottom: 0em; }
  .saf-message-container hr, .saf-message-container .hr, .saf-placeholder-article hr, .saf-placeholder-article .hr {
    border: 1px solid;
    margin: -1px 0; }
  .saf-message-container a, .saf-message-container b, .saf-message-container i, .saf-message-container strong, .saf-message-container em, .saf-message-container small, .saf-message-container code, .saf-placeholder-article a, .saf-placeholder-article b, .saf-placeholder-article i, .saf-placeholder-article strong, .saf-placeholder-article em, .saf-placeholder-article small, .saf-placeholder-article code {
    line-height: 0; }
  .saf-message-container sub, .saf-message-container sup, .saf-placeholder-article sub, .saf-placeholder-article sup {
    line-height: 0;
    position: relative;
    vertical-align: baseline; }
  .saf-message-container sup, .saf-placeholder-article sup {
    top: -0.5em; }
  .saf-message-container sub, .saf-placeholder-article sub {
    bottom: -0.25em; }

.saf-placeholder-article {
  margin: 0; }

ul.no-bullets {
  list-style-type: none;
  /* Remove bullets */
  padding: 0;
  /* Remove padding */
  margin: 0;
  /* Remove margins */ }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiQ29udGVudC9TYWZyYW5TQ1NTL3NhZnJhblguZGVmLmNzcyIsCgkic291cmNlcyI6IFsKCQkiQ29udGVudC9TYWZyYW5TQ1NTL3NhZnJhblguZGVmLnNjc3MiLAoJCSJDb250ZW50L1NhZnJhblNDU1MvX3RoZW1lLnNjc3MiLAoJCSJDb250ZW50L1NhZnJhblNDU1MvX3NhZnJhbi12YXJpYWJsZXMuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9fY29yZS5zY3NzIiwKCQkiQ29udGVudC9TYWZyYW5TQ1NTL2NvcmUvX2Jhc2Uuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL190YWJzLnNjc3MiLAoJCSJDb250ZW50L1NhZnJhblNDU1MvY29yZS9fdGFidWxhckRhdGFSZW5kZXJpbmcuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19jaGlsZEVudGl0eUZvcm1SZW5kZXJlci5zY3NzIiwKCQkiQ29udGVudC9TYWZyYW5TQ1NTL2NvcmUvX21ldGFiYXNlRm9ybXMuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19mb3Jtc1dpZGdldHMuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19zeXN0ZW0uc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19zdGFydE1lbnUuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL193aW4uc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL193aW4tc2tpbnMuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19jYWxlbmRhci5zY3NzIiwKCQkiQ29udGVudC9TYWZyYW5TQ1NTL2NvcmUvX3ByaW50LnNjc3MiLAoJCSJDb250ZW50L1NhZnJhblNDU1MvY29yZS9fY2xvY2twaWNrZXIuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9jb3JlL19maWxlc0FuZEZvbGRlcnMuc2NzcyIsCgkJIkNvbnRlbnQvU2FmcmFuU0NTUy9fcGFnZS5zY3NzIiwKCQkiQ29udGVudC9TYWZyYW5TQ1NTL3BhZ2UvX3BhZ2UteC5zY3NzIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIjtBQ2dDQSx5QkFBeUI7QUNiekIseUJBQXlCO0FBNkJ6QixxQ0FBcUM7QUFDckMsb0NBQW9DO0FBUXBDLGdCQUFnQjtBQUtoQixpQkFBaUI7QUFDakIsWUFBWTtBQU1aLGFBQWE7QUFRYixXQUFXO0FBTVg7OztFQUdFO0FBT3dCLGlCQUFpQjtBQU8zQyxjQUFjO0FBT2Q7O0VBRUU7QUFPRix3Q0FBd0M7QUFNcEMsaUJBQWlCO0FBUWpCLGtDQUFrQztBQU1sQyxzQkFBc0I7QUFNdEIsb0JBQW9CO0FBUXBCLG1DQUFtQztBQXVEdkMsWUFBWTtBQUVaLGNBQWM7QUFPZDs7RUFFRTtBQUtGLHNCQUFzQjtBQWdCdEIsdUJBQXVCO0FBT3ZCLHNCQUFzQjtBQUd0QixvQkFBb0I7QUFNcEIsU0FBUztBQVlULFlBQVk7QUE0Qlo7OztFQUdFO0FBQ0YsYUFBYTtBQWNiLDZCQUE2QjtBQWE3QixhQUFhO0FBTWIsV0FBVztBQUVYLGdCQUFnQjtBQXdCaEIsd0JBQXdCO0FDcFd4Qjs7O0dBR0c7QUNESCwwQ0FBMEM7QUF3QjFDOztHQUVHO0FBRUgsQUFBQSxvQkFBb0IsQ0FBQztFQVpqQixxQkFBcUIsRUFBRSxLQUFLO0VBQzVCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHQVVwQjs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBNUJiLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdBMEJwQjs7QUNsQ0QseUJBQXlCO0FBQ3pCLGNBQWM7QUFFZCxBQUFBLEtBQUssQ0FBQztFQUNGLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFxRGQ7Ozs7T0FJRyxFQUNOO0VBN0RELEFBS0ksS0FMQyxDQUtELFVBQVUsQ0FBQztJQUNQLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsTUFBTTtJQUNqQixjQUFjLEVBQUUsR0FBRztJQUNuQixlQUFlLEVBQUUsVUFBVTtJQUMzQixRQUFRLEVBQUUsSUFBSTtJRFZsQixxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQ1NiLFVBQVUsRUFBRSxJQUFJLEdBeUNuQjtJQXZETCxBQWdCVSxLQWhCTCxDQUtELFVBQVUsR0FXSixFQUFFLENBQUM7TUFDRCxNQUFNLEVBQUUsS0FBSztNQUNiLElBQUksRUFBRSxRQUFRO01BQ2QsUUFBUSxFQUFFLE1BQU07TUFDaEIsU0FBUyxFQUFFLEtBQUs7TUFDaEIsU0FBUyxFQUFFLElBQUksR0FDbEI7SUF0QlQsQUF3QlUsS0F4QkwsQ0FLRCxVQUFVLEdBbUJKLEVBQUUsQUFBQSxPQUFPLENBQUM7TUFDUixJQUFJLEVBQUUsUUFBUSxHQUNqQjtJQTFCVCxBQTRCb0IsS0E1QmYsQ0FLRCxVQUFVLEdBdUJKLEVBQUUsQUFBQSxPQUFPLENBQUMsQ0FBQyxFQTVCckIsQUE0Qm1DLEtBNUI5QixDQUtELFVBQVUsR0F1QlcsRUFBRSxBQUFBLE9BQU8sQ0FBQyxDQUFDLEFBQUEsTUFBTSxDQUFDO01BQy9CLFVBQVUsRUhtT1EsS0FBSztNR2xPdkIsS0FBSyxFSG1PUSxrQkFBSztNR2xPbEIsWUFBWSxFSkNuQixPQUFPLEdJQUg7SUFoQ1QsQUFrQ1EsS0FsQ0gsQ0FLRCxVQUFVLENBNkJOLENBQUMsQ0FBQztNQUNFLE9BQU8sRUFBRSxLQUFLO01BQ2QsY0FBYyxFQUFFLE1BQU07TUFDdEIsU0FBUyxFQUFFLElBQUk7TUFDZixTQUFTLEVBQUUsR0FBRztNQUNkLFdBQVcsRUFBRSxNQUFNO01BQ25CLFFBQVEsRUFBRSxNQUFNO01BQ2hCLGFBQWEsRUFBRSxRQUFRO01BQ3ZCLE9BQU8sRUFBRSxRQUFRO01BQ2pCLE9BQU8sRUFBRSxZQUFZO01BQ3JCLE1BQU0sRUgrTUMsS0FBSyxDQUFDLEdBQUcsQ0QzTnZCLE9BQU87TUlhQSxVQUFVLEVKYmpCLE9BQU8sR0ljSDtJQTlDVCxBQWdEUSxLQWhESCxDQUtELFVBQVUsQ0EyQ04sQ0FBQyxBQUFBLE1BQU0sRUFoRGYsQUFnRGlCLEtBaERaLENBS0QsVUFBVSxDQTJDRyxDQUFDLEFBQUEsTUFBTSxDQUFDO01BQ2IsS0FBSyxFSDRNTyxLQUFLO01HM01qQixZQUFZLEVKbEJuQixPQUFPO01JbUJBLGdCQUFnQixFSjNCbkIsT0FBMEQ7TUk0QnZELGVBQWUsRUFBRSxTQUFTO01BQzFCLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQVlULCtCQUErQjtBQUMvQixBQUFBLFlBQVksQ0FBQztFQUNULEtBQUssRUFBRSxJQUFJO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBRSxHQUFHO0VBQ1oscUJBQXFCO0VBQ3JCLE1BQU0sRUh5TFcsS0FBSyxDQUFDLEdBQUcsQ0RuT3pCLE9BQU8sR0k0Q1g7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDRCxPQUFPLEVBQUUsSUFBSSxHQUVoQjs7QUFFRCxBQUFBLElBQUksQUFBQSxPQUFPLENBQUM7RUFDUixPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUN6RkQsVUFBVTtBQWNWOztHQUVHO0FBQ0gsQUFBQSxTQUFTLENBQUM7RUFDTiw2QkFBNkI7RUZiN0IscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUVXakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLElBQUk7RUFDaEI7Ozs7Ozs7T0FPRztFQUVIOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0VBWUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENMM0JyQixvQkFBTyxDSzJCNkIsVUFBVTtFQUMzQyxNQUFNLEVBQUUsR0FBRyxHQUVsQjtFQTlDRCxBQWdDSSxTQWhDSyxDQWdDTCxPQUFPLENBQUM7SUFDSix1Q0FBdUM7SUFDdkMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLEdBQUc7SUFDWCxJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxHQUFHO0lBQ1gsT0FBTyxFQUFFLEdBQUc7SUFDWixZQUFZLEVBQUUsR0FBRyxHQUNwQjs7QUFRTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLGVBQWU7RUFDeEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBaEVFLE9BQXNCO0VBaUU5QyxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FqRUMsT0FBc0I7RUFrRTlDLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUtELEFBQUEsYUFBYSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENMdkRuQixPQUEwRCxDS3VEdkIsVUFBVTtFQUc5QyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0wxRHZCLE9BQTBELENLMERuQixVQUFVLEdBRXpEOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENML0RoQixPQUEwRDtFS2dFL0QsV0FBVyxFQUFFLGVBQWU7RUFDNUIsWUFBWSxFQUFFLGVBQWU7RUFDN0IsU0FBUyxFQUFFLE9BQU87RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQ7Ozs7Ozs7RUFPRTtBQUlGLEFBQ0ksZUFEVyxDQUNYLFFBQVEsQ0FBQztFQUNMLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDQTVHSCxPQUFzQixHQTZHN0M7O0FBTEwsQUFPSSxlQVBXLENBT1gsUUFBUSxBQUFBLFlBQVksQ0FBQztFQUNqQixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFUTCxBQVdJLGVBWFcsQ0FXWCxRQUFRLEFBQUEsV0FBVyxDQUFDO0VBQ2hCLFlBQVksRUFBRSxJQUFJLEdBQ3JCOztBQWJMLEFBc0JJLGVBdEJXLENBc0JYLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBeEJMLEFBMEJJLGVBMUJXLENBMEJYLG9CQUFvQixDQUFDO0VBQ2pCLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQTVCTCxBQThCSSxlQTlCVyxDQThCWCxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFXTCxBQUNJLGtCQURjLENBQ2QsZ0JBQWdCLENBQUM7RUFDYixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFITCxBQUtJLGtCQUxjLENBS2Qsb0JBQW9CLENBQUM7RUFDakIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBUEwsQUFTSSxrQkFUYyxDQVNkLG1CQUFtQixDQUFDO0VBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQU1MLEFBQUEsZUFBZSxDQUFDO0VBRVo7Ozs7T0FJRyxFQUlOO0VBVkQsQUFPSSxlQVBXLENBT1gsU0FBUyxDQUFDO0lBQ04sVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENMMUpyQixPQUEwRCxHSzJKOUQ7O0FBR0wsQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBQUUsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFFakMsQUFBQSxPQUFPLEFBQUEsYUFBYSxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDTHRKbEIsb0JBQU8sR0s4Slg7RUFURCxBQUdJLE9BSEcsQUFBQSxhQUFhLEFBR2hCLFNBQVUsQ0FBQztJQUNQLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDTHpKckIsb0JBQU8sR0s2SlA7O0FBS0wsQUFBbUIsa0JBQUQsQ0FBQyxTQUFTLENBQUM7RUFDekIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENMOUtqQixPQUEwRCxHSytLbEU7O0FBRUQsQUFBQSx5QkFBeUIsQ0FBQztFQUN0QixVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLE9BQU8sRUFBRSxnQkFBZ0IsR0FDNUI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsZUFBZSxHQUMxQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQS9NTixPQUFPO0VBZ05sQixTQUFTLEVBQUUsS0FBSztFQUNoQixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLGdCQUFnQixFQXJOTCxPQUFPO0VBc05sQixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUVELGFBQWE7QUFDYixBQUFBLGdCQUFnQixBQUFBLGtCQUFrQixDQUFDO0VBQy9CLE1BQU0sRUFBRSxPQUFPO0VBTWYsUUFBUSxFQUFFLFFBQVE7RUFrQmxCLHdCQUF3QixFQW9DM0I7RUE3REQsQUFHSSxnQkFIWSxBQUFBLGtCQUFrQixBQUc5QixNQUFPLENBQUM7SUFDSixnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCO0VBTEwsQUFTSSxnQkFUWSxBQUFBLGtCQUFrQixBQVM5QixPQUFRLENBQUM7SUFDTCx3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFNBQVMsRUFBRSxPQUFPO0lBRWxCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxHQUFHO0lBQ1osT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQXhCTCxBQTBCSSxnQkExQlksQUFBQSxrQkFBa0IsQUEwQjlCLE1BQU8sQUFBQSxPQUFPLENBQUM7SUFDWCxnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLEtBQUssRUxwT0osT0FBMEQ7SUtxTzNELE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLElBQUksR0FDbkI7RUEvQkwsQUFpQ0ksZ0JBakNZLEFBQUEsa0JBQWtCLEFBaUM5QixJQUFLLEVBakNULEFBaUNXLGdCQWpDSyxBQUFBLGtCQUFrQixBQWlDdkIsS0FBTSxDQUFDO0lBQ1YsS0FBSyxFTDVPSixPQUEwRDtJS2tQM0QsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLElBQUksR0FDcEI7SUExQ0wsQUFvQ1EsZ0JBcENRLEFBQUEsa0JBQWtCLEFBaUM5QixJQUFLLEFBR0YsT0FBUyxFQXBDaEIsQUFvQ1EsZ0JBcENRLEFBQUEsa0JBQWtCLEFBaUN2QixLQUFNLEFBR1YsT0FBUyxDQUFDO01BQ0wsVUFBVSxFQUFFLFdBQVcsR0FDMUI7RUF0Q1QsQUE0Q0ksZ0JBNUNZLEFBQUEsa0JBQWtCLEFBNEM5QixJQUFLLEFBQUEsTUFBTSxBQUFBLE9BQU8sRUE1Q3RCLEFBNkNJLGdCQTdDWSxBQUFBLGtCQUFrQixBQTZDOUIsSUFBSyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFDZixPQUFPLEVBQUUsT0FBTztJQUNoQiw4QkFBOEIsRUFDakM7RUFoREwsQUFrREksZ0JBbERZLEFBQUEsa0JBQWtCLEFBa0Q5QixJQUFLLEFBQUEsT0FBTyxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7SUFFVixPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQXRETCxBQXdESSxnQkF4RFksQUFBQSxrQkFBa0IsQUF3RDlCLEtBQU0sQUFBQSxPQUFPLENBQUM7SUFDVixPQUFPLEVBQUUsQ0FBQztJQUVWLE9BQU8sRUFBRSxPQUFPLEdBQ25COztBQUdMLGtCQUFrQjtBQUNsQixBQUFBLGVBQWUsQ0FBQztFQUNaLEtBQUssRUFBRSxrQkFBZTtFQW9DdEIsU0FBUyxFQUFFLElBQUksR0FPbEI7RUE1Q0QsQUFHSSxlQUhXLENBR1gsRUFBRSxFQUhOLEFBR1EsZUFITyxDQUdQLEVBQUUsRUFIVixBQUdZLGVBSEcsQ0FHSCxFQUFFLENBQUM7SUFDUCxVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNyQjtFQU5MLEFBUUksZUFSVyxDQVFYLEVBQUUsRUFSTixBQVFRLGVBUk8sQ0FRUCxFQUFFLEVBUlYsQUFRWSxlQVJHLENBUUgsRUFBRSxDQUFDO0lBQ1AsVUFBVSxFQUFFLEdBQUc7SUFDZixhQUFhLEVBQUUsR0FBRyxHQUNyQjtFQVhMLEFBYUksZUFiVyxDQWFYLEVBQUUsQ0FBQztJQUNDLFNBQVMsRUFBRSxHQUFHLEdBQ2pCO0VBZkwsQUFpQkksZUFqQlcsQ0FpQlgsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFuQkwsQUFxQkksZUFyQlcsQ0FxQlgsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUF2QkwsQUF5QkksZUF6QlcsQ0F5QlgsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFFLEdBQUcsR0FDakI7RUEzQkwsQUE2QkksZUE3QlcsQ0E2QlgsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUEvQkwsQUFpQ0ksZUFqQ1csQ0FpQ1gsRUFBRSxDQUFDO0lBQ0MsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUFuQ0wsQUF1Q0ksZUF2Q1csQ0F1Q1gsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUs7SUFDZCxnQkFBZ0IsRUFBRSxPQUFPO0lBQ3pCLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUdMLEFBRU0sYUFGTyxHQUVQLEdBQUcsQ0FBQztFQUNGLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFVBQVUsRUwzUlYsT0FBTztFSzRSUCxZQUFZLEVBQUUsR0FBRztFQUNqQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFQTCxBQVNJLGFBVFMsQUFTVCxPQUFRLEVBVFosQUFTYyxhQVRELEFBU0MsTUFBTyxDQUFDO0VBQ2QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWUsR0FLcEM7RUFmTCxBQVlVLGFBWkcsQUFTVCxPQUFRLEdBR0YsR0FBRyxFQVpiLEFBWVUsYUFaRyxBQVNDLE1BQU8sR0FHWCxHQUFHLENBQUM7SUFDRixVQUFVLEVBQUUsZUFBZSxHQUM5Qjs7QUFLVCxBQUVNLFlBRk0sQ0FBQyxhQUFhLEdBRXBCLEdBQUcsQ0FBQztFQUNGLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQUdMLCtCQUErQjtBQUMvQixnQ0FBZ0M7QUFDaEMsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFFBQVEsRUFBRSxJQUFJO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxVQUFVLEVBQUUsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLENBQUM7RUFDZCxVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsa0JBQWU7RUFHbEIsT0FBTyxFQUFFLFlBQVksR0FLNUI7O0FBRUQsQUFBQSxlQUFlLEVBQUUsQUFBQSxrQkFBa0IsQ0FBQztFQUNoQyxvQkFBb0IsRUFVdkI7RUFYRCxBQUVVLGVBRkssQ0FFWCxLQUFLLENBQUMsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLElBQUksR0FGVixBQUVQLGtCQUZ5QixDQUUvQixLQUFLLENBQUMsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLElBQUksRUFBRTtJQUNyQixnQkFBZ0IsRUFsWVAsT0FBTztJQW1ZaEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBaFlGLE9BQXNCLEdBaVkvQztFQUxMLEFBT1UsZUFQSyxDQU9YLEtBQUssQ0FBQyxFQUFFLEFBQUEsVUFBVyxDQUFBLEFBQUEsR0FBRyxHQVBULEFBT1Asa0JBUHlCLENBTy9CLEtBQUssQ0FBQyxFQUFFLEFBQUEsVUFBVyxDQUFBLEFBQUEsR0FBRyxFQUFFO0lBQ3BCLFVBQVUsRUF0WUYsT0FBTztJQXVZZixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FyWUYsT0FBc0IsR0FzWS9DOztBQU1MLEFBRVEsY0FGTSxBQUNWLGVBQWdCLENBQ1osbUJBQW1CLENBQUM7RUFDaEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsUUFBUSxFQUFFLElBQUksR0FDakI7O0FBSVQsa0JBQWtCO0FBQ2xCLEFBQ3VCLGVBRFIsQ0FDWCxPQUFPLEFBQUEsU0FBUyxHQUFHLFFBQVEsQ0FBQztFQUN4QixnQkFBZ0IsRUxoWWhCLE9BQXlEO0VLaVl6RCxrQkFBa0IsRUFBRSxXQUFXLEdBQ2xDOztBQUpMLEFBTUksZUFOVyxDQU1YLGFBQWEsQ0FBQztFQVVWLGNBQWMsRUFBRSxNQUFNLEdBU3pCO0VBekJMLEFBTUksZUFOVyxDQU1YLGFBQWEsQUFDVCxPQUFRLENBQUM7SUFDTCxhQUFhLEVBQUUsS0FBSztJQUNwQixLQUFLLEVBQUUsbUJBQWdCO0lBQ3ZCOytCQUNtQjtJQUNuQixXQUFXLEVBQUUsV0FBVztJQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQWRULEFBTUksZUFOVyxDQU1YLGFBQWEsQUFZVCxNQUFPLENBQUM7SUFDSixnQkFBZ0IsRUx0Wm5CLE9BQTBELENLc1o3QixVQUFVLEdBS3ZDO0lBeEJULEFBTUksZUFOVyxDQU1YLGFBQWEsQUFZVCxNQUFPLEFBR0gsT0FBUSxDQUFDO01BQ0wsS0FBSyxFTDFYYixPQUFPLEdLMlhGOztBQXZCYixBQTRCUSxlQTVCTyxDQTJCWCxPQUFPLEFBQUEsU0FBUyxDQUNaLGFBQWEsQ0FBQztFQUNWLFVBQVUsRUxsYWIsT0FBMEQsQ0trYW5DLFVBQVUsR0FDakM7O0FBOUJULEFBZ0NRLGVBaENPLENBMkJYLE9BQU8sQUFBQSxTQUFTLENBS1osYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNqQixLQUFLLEVBQUUseUJBQXNCO0VBRTdCLE9BQU8sRUFBRSxPQUFPLEdBRW5COztBQXJDVCxBQXlDVSxlQXpDSyxDQXdDWCxLQUFLLENBQUMsT0FBTyxBQUFBLE1BQU0sR0FDYixRQUFRLENBQUM7RUFDUCxnQkFBZ0IsRUF6YkosT0FBc0I7RUE0YjlCLEtBQUssRUE3YkMsS0FBSztFQWdjZixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFqRFQsQUFxRFUsZUFyREssQ0FvRFgsS0FBSyxDQUFDLE9BQU8sQUFBQSxTQUFTLEFBQUEsTUFBTSxHQUN0QixRQUFRLENBQUM7RUFDUCxnQkFBZ0IsRUx0Ym5CLE9BQTBELEdLdWIxRDs7QUFLVCxBQUVJLGtCQUZjLENBRWQsT0FBTyxBQUFBLFNBQVMsQ0FBQztFQUNiLGdCQUFnQixFTDdiaEIsT0FBeUQ7RUtrY3pELHlDQUF5QyxFQUM1QztFQVRMLEFBS1Esa0JBTFUsQ0FFZCxPQUFPLEFBQUEsU0FBUyxDQUdaLEVBQUUsQ0FBQztJQUNDLGdCQUFnQixFTGhjcEIsT0FBeUQsR0tpY3hEOztBQVBULEFBV0ksa0JBWGMsQ0FXZCxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsS0FBSztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsU0FBUyxFQUFFLEtBQUs7RUFXaEIsY0FBYyxFQUFFLE1BQU0sR0FTekI7RUFwQ0wsQUFXSSxrQkFYYyxDQVdkLGFBQWEsQUFPVCxPQUFRLENBQUM7SUFDTCxPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxtQkFBZ0I7SUFDdkI7K0JBQ21CO0lBQ25CLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0VBekJULEFBV0ksa0JBWGMsQ0FXZCxhQUFhLEFBa0JULE1BQU8sQ0FBQztJQUNKLGdCQUFnQixFTDdkbkIsT0FBMEQsQ0s2ZDdCLFVBQVUsR0FLdkM7SUFuQ1QsQUFXSSxrQkFYYyxDQVdkLGFBQWEsQUFrQlQsTUFBTyxBQUdILE9BQVEsQ0FBQztNQUNMLEtBQUssRUxqY2IsT0FBTyxHS2tjRjs7QUFsQ2IsQUF1Q1Esa0JBdkNVLENBc0NkLE9BQU8sQUFBQSxTQUFTLENBQ1osYUFBYSxDQUFDO0VBQ1YsVUFBVSxFTHplYixPQUEwRCxDS3llbkMsVUFBVSxHQUNqQzs7QUF6Q1QsQUEyQ1Esa0JBM0NVLENBc0NkLE9BQU8sQUFBQSxTQUFTLENBS1osYUFBYSxBQUFBLE9BQU8sQ0FBQztFQUNqQixLQUFLLEVBQUUseUJBQXNCO0VBRTdCLE9BQU8sRUFBRSxPQUFPLEdBQ25COztBQS9DVCxBQW1EVSxrQkFuRFEsQ0FrRGQsS0FBSyxDQUFDLE9BQU8sQUFBQSxNQUFNLEdBQ2IsUUFBUSxDQUFDO0VBQ1AsZ0JBQWdCLEVBL2ZKLE9BQXNCO0VBa2dCOUIsS0FBSyxFQW5nQkMsS0FBSztFQXNnQmYsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBM0RULEFBK0RVLGtCQS9EUSxDQThEZCxLQUFLLENBQUMsT0FBTyxBQUFBLFNBQVMsQUFBQSxNQUFNLEdBQ3RCLFFBQVEsQ0FBQztFQUNQLGdCQUFnQixFTDVmbkIsT0FBMEQsR0s2ZjFEOztBQVFULHFDQUFxQztBQUNyQyxBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUVELDRFQUE0RTtBQUM1RSxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUxuaEJBLE9BQTBEO0VLb2hCL0QsTUFBTSxFSjlSUSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVc7RUkrUm5DLFVBQVUsRUo5UlEsV0FBVztFSStSN0IsY0FBYyxFQUFFLEdBQUc7RUFDbkIscUJBQXFCO0VBQ3JCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsY0FBYyxFQUFFLFFBQVE7RUFDeEIsT0FBTyxFSm5TUSxJQUFJO0VJb1NuQixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBWTlDO0VBeEJELEFBY0ksV0FkTyxBQWNQLE1BQU8sRUFkWCxBQWNhLFdBZEYsQUFjRSxNQUFPLEVBZHBCLEFBY3NCLFdBZFgsQUFjVyxPQUFRLENBQUM7SUFDdkIsS0FBSyxFTC9mTCxPQUFPO0lLZ2dCUCxhQUFhLEVKblNTLENBQUM7SUlvU3ZCLE1BQU0sRUp0U1UsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXO0lJdVNyQyxVQUFVLEVMamlCVCxPQUEwRDtJS2tpQjNELFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtJQUN2Qyx3REFBd0Q7SUFDeEQsT0FBTyxFSnhTVSxHQUFHLEdJeVN2Qjs7QUFPTCxBQUFBLFFBQVEsQUFBQSxhQUFhO0FBQ3JCLEFBQUEsUUFBUSxBQUFBLGtCQUFrQjtBQUMxQixBQUFBLFFBQVEsQUFBQSxhQUFhLENBQUM7RUFDbEIsT0FBTyxFQUFFLENBQUM7RUFDVixjQUFjLEVBQUUsTUFBTSxHQVF6QjtFQVpELEFBTUksUUFOSSxBQUFBLGFBQWEsQ0FNakIsV0FBVztFQUxmLEFBS0ksUUFMSSxBQUFBLGtCQUFrQixDQUt0QixXQUFXO0VBSmYsQUFJSSxRQUpJLEFBQUEsYUFBYSxDQUlqQixXQUFXLENBQUM7SUFDUixPQUFPLEVBQUUsR0FBRyxHQUlmOztBQUtMLEFBQ0ksUUFESSxBQUFBLGFBQWEsQ0FDakIsV0FBVyxDQUFDO0VBQ1IsU0FBUyxFSjFUUyxVQUFVLEdJMlQvQjs7QUFHTCxBQUVJLE9BRkcsQUFBQSxNQUFNLEdBQUcsUUFBUSxBQUFBLGFBQWEsQ0FFakMsV0FBVztBQURmLEFBQ0ksT0FERyxBQUFBLE1BQU0sR0FBRyxRQUFRLEFBQUEsYUFBYSxDQUNqQyxXQUFXLENBQUM7RUFDUixPQUFPLEVKelVVLEdBQUc7RUkwVXBCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUpsVW1CLFVBQVU7RUltVXRDLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FDOUM7O0FBS0wsQUFDSSxRQURJLEFBQUEsa0JBQWtCLENBQ3RCLFdBQVcsQ0FBQztFQUNSLFNBQVMsRUp0VWUsVUFBVSxHSXVVckM7O0FBSUwsQUFFSSxPQUZHLEFBQUEsTUFBTSxHQUFHLFFBQVEsQUFBQSxrQkFBa0IsQ0FFdEMsV0FBVztBQURmLEFBQ0ksT0FERyxBQUFBLE1BQU0sR0FBRyxRQUFRLEFBQUEsa0JBQWtCLENBQ3RDLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUo1VlUsR0FBRztFSTZWcEIscUJBQXFCO0VBQ3JCLFNBQVMsRUovVXlCLFVBQVU7RUlnVjVDLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FDOUM7O0FBSUwsQUFBQSxRQUFRLEFBQUEsZUFBZSxDQUFDO0VBQ3BCLGNBQWMsRUFBRSxNQUFNLEdBUXpCO0VBVEQsQUFHSSxRQUhJLEFBQUEsZUFBZSxDQUduQixXQUFXLEFBQ1AsTUFBTyxDQUFDO0lBQ0osVUFBVSxFSjFrQlgsT0FBTztJSTJrQk4sS0FBSyxFTHprQkgsT0FBTyxDS3lrQjZCLFVBQVUsR0FDbkQ7O0FBSVQsQUFFSSxPQUZHLEFBQUEsTUFBTSxHQUFHLFFBQVEsQUFBQSxlQUFlLENBRW5DLFdBQVc7QUFEZixBQUNJLE9BREcsQUFBQSxNQUFNLEdBQUcsUUFBUSxBQUFBLGVBQWUsQ0FDbkMsV0FBVyxDQUFDO0VBQ1IsS0FBSyxFSm5sQkYsT0FBTyxHSW9sQmI7O0FBR0wsQUFBQSxRQUFRLEFBQUEsWUFBWSxDQUFDO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsVUFBVSxDQUFDO0VBQ3ZCLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBQUVELEFBQUEsZ0JBQWdCLEFBQUEsVUFBVSxBQUFBLFFBQVEsQ0FBQztFQUMvQjt3QkFDb0I7RUFDcEIsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLE9BQU87RUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7O0FBRUQsQUFBQSxnQkFBZ0IsQUFBQSxVQUFVLEFBQUEsUUFBUSxDQUFDO0VBQ25DO3VCQUN1QjtFQUNuQixXQUFXLEVBQUUsV0FBVztFQUN4QixPQUFPLEVBQUUsT0FBTztFQUNoQixhQUFhLEVBQUUsR0FBRyxHQUNyQjs7QUFDRCxnQkFBZ0I7QUFDaEIsQUFBQSxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsR0FBRyxHQUNsQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsS0FBSztFQUNiLGFBQWEsRUFBRSxjQUFjO0VBQzdCLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUVELGNBQWM7QUFDZCwrSEFBK0g7QUFDL0gsQUFBQSxhQUFhLEFBQUEsTUFBTSxDQUFDO0VBQ2hCLE1BQU0sRUFBRSxPQUFPLEdBQ2xCOztBQUVELEFBQUEsYUFBYSxBQUFBLFFBQVEsQ0FBQztFQUNsQjsyQkFDdUI7RUFDdkIsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLGNBQWM7RUFDdkIsU0FBUyxFQUFFLE9BQU87RUFDbEIsZ0JBQWdCLEVBQUUseUJBQXlCO0VBQzNDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFdBQVcsRUFBRSxLQUFLLEdBQ3JCOztBQUVELEFBQUEsYUFBYSxBQUFBLFlBQVksQUFBQSxRQUFRLENBQUM7RUFDOUI7K0JBQzJCO0VBQzNCLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsZ0JBQWdCLEVBQUUseUJBQXlCO0VBQzNDLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQUVELEFBQUEsa0JBQWtCLENBQUM7RUFDZixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLGtCQUFrQixBQUFBLFlBQVksQ0FBQztFQUMzQixPQUFPLEVBQUUsTUFBTSxHQUNsQjs7QUFDRCxzQkFBc0I7QUFDdEIsSUFBSTtBQUNKLHNDQUFzQztBQUV0QyxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsZUFBZTtFQUN2QixTQUFTLEVBQUUsT0FBTyxHQUNyQjs7QUFFRCxlQUFlO0FBQ2YsQUFBQSxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsYUFBYTtFQUM5QixRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFFRCxlQUFlO0FBQ2YsQUFBQSxZQUFZLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLElBQUksRUFBRSxRQUFRO0VBQ2QsYUFBYSxFQUFFLElBQUk7RUFDbkIsWUFBWSxFQUFFLElBQUk7RUFDbEIsT0FBTyxFQUFFLEdBQUc7RUFDWiwwRUFBMEU7RUFDMUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CO0VBQ3JDLGdCQUFnQixFQUFFLG1CQUFtQjtFQUNyQyxpQkFBaUIsRUFBRSxtQkFBbUI7RUFzQ3RDOzs7T0FHRztFQUNIOztPQUVHLEVBMENOO0VBakdELEFBYUksWUFiUSxDQWFSLGNBQWMsQ0FBQztJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsWUFBWSxFQUFFLEtBQUssR0FDdEI7RUFoQkwsQUFtQlEsWUFuQkksQ0FrQlIsZ0JBQWdCLENBQ1osV0FBVyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSztJQUNqQixPQUFPLEVKbmZBLElBQUksR0lvZmQ7RUF2QlQsQUEyQlEsWUEzQkksQ0EwQlIsdUJBQXVCLENBQ25CLFdBQVcsQ0FBQztJQUNSLFNBQVMsRUFBRSxJQUFJO0lBQ2YsU0FBUyxFSjVlSyxVQUFVLEdJNmUzQjtFQTlCVCxBQWlDSSxZQWpDUSxBQWlDUixNQUFPLEVBakNYLEFBaUNhLFlBakNELEFBaUNDLE1BQU8sQ0FBQztJQUNiLGlFQUFpRTtJQUNqRSxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQU0sa0JBQUs7SUFDbkMsMkNBQTJDO0lBQzNDLE9BQU8sRUFBRSxDQUFDLEdBQ2I7RUF0Q0wsQUEyQ1ksWUEzQ0EsQUF3Q1IsTUFBTyxDQUNILGdCQUFnQixDQUVaLFdBQVcsRUEzQ3ZCLEFBMkNZLFlBM0NBLEFBd0NSLE1BQU8sQ0FDZSx1QkFBdUIsQ0FFckMsV0FBVyxFQTNDdkIsQUEyQ1ksWUEzQ0EsQUF3Q0MsT0FBUSxDQUNiLGdCQUFnQixDQUVaLFdBQVcsRUEzQ3ZCLEFBMkNZLFlBM0NBLEFBd0NDLE9BQVEsQ0FDSyx1QkFBdUIsQ0FFckMsV0FBVyxFQTNDdkIsQUEyQ1ksWUEzQ0EsQUF3Q1csTUFBTyxDQUN0QixnQkFBZ0IsQ0FFWixXQUFXLEVBM0N2QixBQTJDWSxZQTNDQSxBQXdDVyxNQUFPLENBQ0osdUJBQXVCLENBRXJDLFdBQVcsQ0FBQztJQUNSLE9BQU8sRUpuZ0JFLEdBQUc7SUlvZ0JaLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FDOUM7RUE5Q2IsQUF5RHlCLFlBekRiLENBeURSLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztJQUM3QixLQUFLLEVKbHZCRixPQUFPLEdJeXZCYjtJQWpFTCxBQXlEeUIsWUF6RGIsQ0F5RFIsa0JBQWtCLEdBQUcsV0FBVyxBQUc1QixNQUFPLENBQUM7TUFDSixLQUFLLEVMbnZCSCxPQUFPLENLbXZCZSxVQUFVO01BQ2xDLFVBQVUsRUp0dkJYLE9BQU8sQ0lzdkJnQixVQUFVO01BQ2hDLE9BQU8sRUp0aEJNLEdBQUcsR0l1aEJuQjtFQWhFVCxBQW1FWSxZQW5FQSxBQW1FUixNQUFPLENBQUMsa0JBQWtCO0VBbkU5QixBQW9FYSxZQXBFRCxBQW9FUixPQUFRLENBQUMsa0JBQWtCO0VBcEUvQixBQXFFWSxZQXJFQSxBQXFFUixNQUFPLENBQUMsa0JBQWtCLENBQUM7SUFDdkIsT0FBTyxFSm5pQkksSUFBSTtJSW9pQmYsVUFBVSxFQUFFLEVBQUUsR0FDakI7RUF4RUwsQUEwRUksWUExRVEsQUEwRVIsVUFBVyxDQUFDO0lBQ1IsU0FBUyxFQUFFLElBQUk7SUFBRywrQ0FBK0M7SUFDakUsS0FBSyxFQUFFLElBQUk7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixhQUFhLEVBQUUsR0FBRyxHQWtCckI7SUFoR0wsQUFnRlEsWUFoRkksQUEwRVIsVUFBVyxBQU1QLE1BQU8sRUFoRmYsQUFnRmlCLFlBaEZMLEFBMEVSLFVBQVcsQUFNRSxPQUFRLENBQUM7TUFDZCxxQkFBcUIsRUFDeEI7SUFsRlQsQUFxRlksWUFyRkEsQUEwRVIsVUFBVyxDQVdILFNBQVMsQ0FBQztNQUNOLFNBQVMsRUFBRSxPQUFPLEdBQ3JCO0lBdkZiLEFBeUZZLFlBekZBLEFBMEVSLFVBQVcsQ0FlSCxnQkFBZ0IsQUFDWixXQUFZLENBQUM7TUFDVCxTQUFTLEVBQUUsT0FBTztNQUNsQixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFNakIsYUFBYTtBQUNiLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFQUNwQixBQUFBLFlBQVksQUFBQSxVQUFVLENBQUM7SUFDbkIsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSSxHQWdCbEI7SUFsQkQsQUFJSSxZQUpRLEFBQUEsVUFBVSxDQUlsQixZQUFZLENBQUM7TUFDVCxXQUFXLEVBQUUsR0FBRztNQUNoQixJQUFJLEVBQUUsQ0FBQyxHQUNWO0lBUEwsQUFTSSxZQVRRLEFBQUEsVUFBVSxDQVNsQixZQUFZLENBQUM7TUFDVCxJQUFJLEVBQUUsQ0FBQztNQUNQLFNBQVMsRUFBRSxLQUFLO01BQ2hCLFNBQVMsRUFBRSxLQUFLLEdBS25CO01BakJMLEFBY1EsWUFkSSxBQUFBLFVBQVUsQ0FTbEIsWUFBWSxDQUtSLGNBQWMsQ0FBQztRQUNYLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBS2IsQUFBQSxTQUFTLENBQUM7RUFDTixLQUFLLEVBQUUsR0FBRztFQUNWLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLFNBQVMsRUFBRSxJQUFJLEdBS2xCO0VBVEQsQUFNSSxTQU5LLENBTUwsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FBR0wsQUFBQSxTQUFTLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRLEdBQzFCOztBQUlELEFBQWMsYUFBRCxDQUFDLE9BQU8sQ0FBQztFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixLQUFLLEVMejBCRCxrQkFBTztFSzAwQlgsY0FBYyxFQUFFLE1BQU0sR0FDekI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE1BQU0sRUFBRSxPQUFPO0VBRWYsYUFBYSxFQUFFLEdBQUcsR0FRckI7RUFYRCxBQUtJLGdCQUxZLEFBS1osV0FBWSxDQUFDO0lBQ1QsU0FBUyxFQUFFLEtBQ2YsR0FBRTtFQVBOLEFBUUksZ0JBUlksQUFRWixNQUFPLENBQUM7SUFBRSxLQUFLLEVMbjNCVixPQUEwRDtJS28zQnJELGVBQWUsRUFBRSxTQUFTLEdBQ25DOztBQUdMLEFBQWMsYUFBRCxDQUFDLE9BQU8sQ0FBQztFQUNsQixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsT0FBTztFQUNwQixTQUFTLEVBQUUsT0FBTztFQUNsQixZQUFZLEVBQUUsS0FBSztFQUNuQixhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVMaDJCRCxrQkFBTztFS2kyQlgsU0FBUyxFQUFFLEdBQUc7RUFDZCxVQUFVLEVBQUUsS0FBSztFQUNqQixhQUFhLEVBQUUsTUFBTTtFQUNyQixRQUFRLEVBQUUsTUFBTTtFQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjs7QUFFRCxBQUFjLGFBQUQsQ0FBQyxPQUFPLENBQUM7RUFDbEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsV0FBVyxFQUFFLE9BQU87RUFDcEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLFVBQVU7RUFDekIsS0FBSyxFQUFFLEtBQUs7RUFDWixhQUFhLEVBQUUsUUFBUSxHQUMxQjs7QUFHRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsR0FBRztFQUNWLE9BQU8sRUFBRSxHQUFHO0VBQ1osZ0JBQWdCLEVMcjNCWixPQUFPO0VLczNCWCxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQUlELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHLEdBQ1o7O0FBR0QsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFBLFlBQVksQ0FBQztJQUNULEtBQUssRUFBRSxJQUNYLEdBQUU7RUFFRixBQUFjLGFBQUQsQ0FBQyxPQUFPLENBQUM7SUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUFFRCxBQUFBLGNBQWMsQ0FBQztJQUNYLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7O0FBSUwsbUJBQW1CO0FBQ25CLEFBQUEsZUFBZSxBQUFBLFdBQVcsQ0FBQztFQUN2QixhQUFhLEVBQUUsbUJBQWtCLENBQUMsaUJBQWdCO0VBQ2xELGlCQUFpQixFQUFFLG1CQUFrQixDQUFDLGlCQUFnQjtFQUN0RCxTQUFTLEVBQUUsbUJBQWtCLENBQUMsaUJBQWdCO0VBQzlDLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsaUJBQWlCLEFBQUEsV0FBVyxDQUFDO0VBQ3pCLGFBQWEsRUFBRSxrQkFBaUIsQ0FBQyxpQkFBZ0I7RUFDakQsaUJBQWlCLEVBQUUsa0JBQWlCLENBQUMsaUJBQWdCO0VBQ3JELFNBQVMsRUFBRSxrQkFBaUIsQ0FBQyxpQkFBZ0I7RUFDN0MsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsR0FDYixHQUFFOztBQUVGLEFBQWUsY0FBRCxDQUFDLEVBQUUsQ0FBQztFQUNkLFNBQVMsRUFBRSxXQUFVLENBQUMsa0JBQWlCO0VBQ3ZDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLEVBQUUsR0FDakI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxFQUNoQixHQUFFOztBQUNGLGlCQUFpQjtBQUNqQixBQUFrQixlQUFILEdBQUcsRUFBRSxFQUFFLEFBQW9CLGlCQUFILEdBQUcsRUFBRSxDQUFDO0VBQ3pDLGdCQUFnQixFQUFFLE9BQWtCLEdBQ3ZDOztBQUVELEFBQTZCLGVBQWQsQUFBQSxXQUFXLEdBQUcsRUFBRSxFQUFFLEFBQStCLGlCQUFkLEFBQUEsV0FBVyxHQUFHLEVBQUUsQ0FBQztFQUMvRCxnQkFBZ0IsRUFBRSxPQUFrQixHQUN2Qzs7QUFDRCxhQUFhO0FBQ2IsQUFBQSxlQUFlLEFBQUEsWUFBWSxFQUFFLEFBQWtCLGlCQUFELENBQUMsV0FBVyxDQUFDO0VBQ3ZELGdCQUFnQixFQUFFLE9BQWtCLEdBQ3ZDOztBQUVELEFBQXVDLGVBQXhCLEFBQUEsV0FBVyxBQUFBLFlBQVksQ0FBQyxFQUFFLEVBQUUsQUFBeUMsaUJBQXhCLEFBQUEsV0FBVyxBQUFBLFlBQVksQ0FBQyxFQUFFLENBQUM7RUFDbkYsZ0JBQWdCLEVBQUUsT0FBa0IsR0FDdkM7O0FBR0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUlELEFBQUEsaUJBQWlCLENBQUM7RUZ4L0JkLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdFcy9CcEI7O0FBRUQsQUFBb0IsbUJBQUQsQ0FBQyxpQkFBaUIsQ0FBQztFQUNsQyxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsU0FBUyxFQUFFLEdBQUc7RUFDZCxPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUx6K0JULHFCQUFPO0VLMCtCUixLQUFLLEVMcjlCSyxPQUFPO0VLczlCakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLFdBQVc7RUFDbkIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VBQ3ZDLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLE9BQU8sRUFBRSxZQUFZO0VBNkJyQjs7OztPQUlHLEVBQ047RUEzQ0QsQUFhSSxpQkFiYSxBQWFiLE9BQVEsQ0FBQztJQUNMLFNBQVMsRUFBRSxHQUFHO0lBQ2QsT0FBTyxFQUFFLEdBQUc7SUFDWjsyQkFDbUI7SUFDbkIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDbkI7RUFwQkwsQUF1QkksaUJBdkJhLENBdUJiLE1BQU0sQ0FBQztJQUNILFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDTDcrQlgsd0JBQU87SUs4K0JiLEtBQUssRUw5K0JDLE9BQU8sR0txL0JoQjtJQXBDTCxBQXVCSSxpQkF2QmEsQ0F1QmIsTUFBTSxBQVFGLE1BQU8sQ0FBQztNQUNKLE9BQU8sRUFBRSxHQUFHO01BQ1osVUFBVSxFTGwvQlIsT0FBTztNS20vQlQsS0FBSyxFTHIvQlQsT0FBTyxHS3MvQk47O0FBY1QsQUFBQSxjQUFjLEFBQUEsb0JBQW9CLENBQUM7RUFDL0IsaUJBQWlCLEVBQUUsY0FBYztFQUNqQyxpQkFBaUIsRUxwaENoQix1QkFBTyxDS29oQ3lCLFVBQVUsR0FDOUM7O0FBSUQsQUFBQSx5QkFBeUIsQ0FBQztFQUt0QixnREFBZ0QsRUFFbkQ7RUFQRCxBQUVJLHlCQUZxQixBQUVyQixTQUFVLENBQUM7SUFDUCxPQUFPLEVBQUMsR0FBRyxHQUNkOztBQ25rQ0w7O0VBRUU7QUFHRixBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsYUFBYSxFQUFFLEdBQUcsR0FDckI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxLQUFLLEVBQUUsSUFBSTtFQUNYLGlCQUFpQjtFQUdqQiw0REFBNEQsRUFDL0Q7RUFORCxBQUlRLFVBSkUsR0FJRixVQUFVLENBQUM7SUFBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ05zQ3BDLG1CQUFPLEdNdENrRDs7QUFLakUsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsV0FBVyxFQUFFLEdBQUc7RUFDaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FFZDs7QUFFRCxBQUFXLFVBQUQsQ0FBQyxXQUFXLENBQUM7RUFDbkIsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJRCxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBQyxJQUFJLEdBQ2Y7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsS0FBSztFQUNqQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUNELEFBRUksVUFGTSxBQUFBLFlBQVksQ0FFbEIsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFQUFDLEtBQUssR0FDaEI7O0FBRUwsd0NBQXdDO0FBQUMsb0JBQW9CO0FBQUMsQUFBQSxVQUFVLEFBQUEsT0FBTyxDQUFDO0VBRTVFLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDTkpuQixtQkFBTyxHTVVkO0VBUjZELEFBRzFELFVBSG9FLEFBQUEsT0FBTyxDQUczRSxXQUFXLENBQUM7SUFDUixPQUFPLEVBQUUsS0FBSztJQUNkLDhCQUE4QixFQUNqQzs7QUFJTCxBQUFBLGdCQUFnQixFQUFFLEFBQUEsUUFBUSxBQUFBLGdCQUFnQixDQUFDO0VBQUMsT0FBTyxFQUFFLElBQUksR0FBSTs7QUFDN0QsQUFBa0IsVUFBUixBQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztFQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUk7O0FBQ3RELEFBQTBCLFFBQWxCLEFBQUEsVUFBVSxBQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztFQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUk7O0FBSXJFLEFBQUEsV0FBVyxBQUFBLE1BQU0sRUFBRSxBQUFBLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDaEMsK0JBQStCLEVBRXBDOztBQUNELEFBQUEsVUFBVSxBQUFBLE1BQU0sRUFBRSxBQUFBLFVBQVUsQUFBQSxPQUFPLENBQUM7RUFDaEMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUM3Qzs7QUFHRCxBQUFBLFdBQVcsQ0FBQztFQUVSLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFDLElBQUksR0FDbEI7O0FBR0QsbUJBQW1CO0FBSW5CLEFBQUEsU0FBUyxBQUFBLE9BQU8sQ0FBQztFQUNiLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxHQUFHO0VBQ1QsR0FBRyxFQUFFLE1BQU07RUFDWDt1QkFDbUI7RUFFbkIsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLE9BQU87RUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUM5Qzs7QUFvQkQsWUFBWTtBQUNaLHVDQUF1QztBQUV2Qzs7RUFFRTtBQVNGLEFBQUEsb0JBQW9CLEFBQUEsYUFBYSxDQUFDO0VBQzlCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLG1CQUFtQjtFQUMzQixVQUFVLEVObEZOLE9BQU87RU1tRlgsT0FBTyxFQUFFLG1CQUFtQixHQVcvQjtFQWZELEFBTUksb0JBTmdCLEFBQUEsYUFBYSxDQU03QixrQkFBa0IsQ0FBQztJQUNmLE1BQU0sRUFBRSxTQUFTLEdBQ3BCO0VBUkwsQUFTSSxvQkFUZ0IsQUFBQSxhQUFhLENBUzdCLGdCQUFnQixDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSSxHQUVkO0lBZEwsQUFhUSxvQkFiWSxBQUFBLGFBQWEsQ0FTN0IsZ0JBQWdCLENBSVosSUFBSSxBQUFBLE1BQU0sQ0FBQztNQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDTmxIakMsT0FBTyxHTWtIa0M7O0FBSTlDLEFBQUEsZUFBZSxDQUFDO0VBQ1osZ0NBQWdDO0VBQ2hDLFVBQVUsRU43SEwsT0FBMEQsR00ySWxFO0VBaEJELEFBSUksZUFKVyxDQUlYLEVBQUUsQ0FBQztJQUNDLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsV0FBVyxFQTVCSSxHQUFHLENBQUMsS0FBSyxDQUFNLG1CQUFLO0lBNkJuQyxRQUFRLEVBQUUsTUFBTSxHQVFuQjtJQWZMLEFBU1UsZUFUSyxDQUlYLEVBQUUsR0FLSSxHQUFHLENBQUM7TUFDRixPQUFPLEVBQUUsS0FBSztNQUNkLFFBQVEsRUFBRSxNQUFNO01BQ2hCLFdBQVcsRUFBRSxNQUFNO01BQ25CLGFBQWEsRUFBRSxRQUFRLEdBQzFCOztBQUdULEFBQUEsZUFBZSxDQUFDO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFnQlgsaUNBQWlDO0VBQ2pDLFFBQVEsRUFBRSxPQUFPO0VBTXJCOzs7O09BSU8sRUFDTjtFQTdCRCxBQUdRLGVBSE8sR0FHUCxVQUFVLENBQUM7SUFDWCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ054SHhCLG1CQUFPLEdNeUhWO0VBTEwsQUFPSSxlQVBXLENBT1gsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLHFCQUFxQjtJQUM3QixXQUFXLEVBakRELEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxHQWtEbEM7RUFWTCxBQWFJLGVBYlcsQ0FhWCxXQUFXLENBQUM7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBaEJMLEFBb0JJLGVBcEJXLENBb0JYLG9CQUFvQixDQUFDO0lBQ2pCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQVNMLEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTyxFQUFFLEdBQUc7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsb0JBQW9CLEVBd0N2QjtFQTdDRCxBQU1JLGVBTlcsQ0FNWCxnQkFBZ0IsQ0FBQztJQUNiLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBUkwsQUFVSSxlQVZXLENBVVgsaUJBQWlCLENBQUM7SUFDZCxPQUFPLEVBQUUsS0FBSyxHQUNqQjtFQVpMLEFBY0ksZUFkVyxBQWNYLE9BQVEsQ0FBQztJQUNMLHNEQUFzRDtJQUN0RCw0Q0FBNEM7SUFDNUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENObE1qQixPQUEwRDtJTW1NM0QsT0FBTyxFQUFFLENBQUMsR0FpQmI7SUFuQ0wsQUFvQlEsZUFwQk8sQUFjWCxPQUFRLENBTUosZ0JBQWdCLENBQUM7TUFDYixTQUFTLEVBQUUsR0FBRztNQUNkLE9BQU8sRUFBRSxLQUFLO01BQ2QsYUFBYSxFQUFFLEdBQUc7TUFDbEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFnQjtNQUN4QyxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsR0FBRztNQUNWLEdBQUcsRUFBRSxHQUFHO01BQ1IsT0FBTyxFQUFFLENBQUM7TUFFVixTQUFTLEVBQUUscUJBQW9CO01BQy9CLFVBQVUsRUFBTyxLQUFLO01BQ3RCLFNBQVMsRUFBRSxLQUFLO01BQ2hCLE1BQU0sRUFBRSxjQUFjLEdBQ3pCO0VBbENULEFBcUNJLGVBckNXLEFBcUNYLFlBQWEsQ0FBQztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBdkNMLEFBeUNJLGVBekNXLENBeUNYLGlCQUFpQixDQUFDO0lBQ2QsT0FBTyxFQUFFLE1BQU07SUFDZixXQUFXLEVBQUUsY0FBYyxHQUM5Qjs7QUFJTCxBQUFBLFdBQVcsQ0FBQSxBQUFBLFVBQUMsQ0FBVyxTQUFTLEFBQXBCLEVBQXNCO0VBQzlCLEtBQUssRUxwTUUsT0FBTyxHS3FNakI7O0FBUUQsQUFFSSxlQUZXLEFBQUEsTUFBTSxDQUVqQixnQkFBZ0IsRUFGRyxBQUVuQixlQUZrQyxBQUFBLE9BQU8sQ0FFekMsZ0JBQWdCLENBQ1o7RUFBRSxVQUFVLEVOaE5aLG1CQUFPLEdNZ04yQjs7QUFJMUMsQUFDSSxlQURXLEFBQUEsTUFBTSxDQUNqQixhQUFhLENBQUM7RUFDVixLQUFLLEVOcFBKLE9BQTBEO0VNcVAzRCxlQUFlLEVBQUUsU0FBUyxHQUM3Qjs7QUFHTCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRCxBQUFBLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLE9BQU87RUFDbEIsS0FBSyxFQUFFLG1CQUFnQjtFQUN2QixVQUFVLEVBQUUsTUFBTTtFQUNsQixRQUFRLEVBQUMsTUFBTTtFQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQSxVQUFVLEdBRzFDOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsVUFBVSxFTm5QTixPQUFjO0VNb1BsQixRQUFRLEVBQUUsUUFBUSxHQWNyQjtFQWhCRCxBQUlJLFlBSlEsQ0FJUixDQUFDLENBQUM7SUFDRSxPQUFPLEVBQUUsVUFBVTtJQUNuQixPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ056UWpCLE9BQTBEO0lNMFEzRCwyQkFBMkI7SUFDM0IsTUFBTSxFQUFFLEtBQUs7SUFDYixXQUFXLEVBQUUsS0FBSyxHQUNyQjtFQVZMLEFBWUksWUFaUSxDQVlSLGFBQWEsQ0FBQztJQUNWLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLDhCQUE4QixFQUNqQzs7QUFHTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFTnhSQSxPQUEwRDtFTXlSL0QsT0FBTyxFQUFFLFVBQVUsR0FDdEI7O0FBQ0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLHFCQUFxQixFQUd4Qjs7QUN4VEQsY0FBYyxDQUFkLFlBQWM7RUFDViwwSEFBMEg7RUFDMUgsQUFBQSxRQUFRLENBQUM7SUFDTCxPQUFPLEVBQUUsVUFBVSxHQUN0Qjs7QUFHTCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsU0FBUyxFQUFFLEdBQUc7RUFDZCxLQUFLLEVBQUUsV0FBVztFSlFsQixxQkFBcUIsRUFBRSxLQUFLO0VBQzVCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHSVZwQjs7QUFDRCxpQkFBaUI7QUFDakIsQUFBQSxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ0osTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDUixZQUFZLEVBQUUsY0FBYztFQUM1QixnQkFBZ0IsRUFBRSxPQUFrQixDQUFDLFVBQVUsR0FDbEQ7O0FBR0QsbUJBQW1CO0FBQ25CLEFBQUEsWUFBWSxDQUFDO0VBQ1QsU0FBUyxFQUFFLE1BQU07RUFDakIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUdELEFBQWUsWUFBSCxHQUFHLElBQUksQ0FBQztFQUNoQixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBTUQsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVBQUUsR0FBRyxHQUNiOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFHRCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLDBCQUEwQjtFQUMxQixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLHdCQUF3QjtFQUN4QixxQkFBcUI7RUFDckIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsaURBQWlEO0VBQ2pELFdBQVcsRUFBRSxVQUFVLEdBdUMxQjtFQWhERCxBQVlRLG9CQVpZLEdBWVosS0FBSyxDQUFDO0lBQ04sV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsSUFBSSxFQUFFLFNBQVM7SUFDZixLQUFLLEVQbkJMLGtCQUFPLEdPb0JWO0VBbEJMLEFBb0JRLG9CQXBCWSxHQW9CWixHQUFHLENBQUM7SUFDSixJQUFJLEVBQUUsU0FBUztJQUNmLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGtFQUFrRSxFQUNyRTtFQXhCTCxBQTBCSSxvQkExQmdCLEFBMEJoQixpQkFBa0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxJQUFJLEdBWWxCO0lBdkNMLEFBNEJZLG9CQTVCUSxBQTBCaEIsaUJBQWtCLEdBRVYseUJBQXlCLENBQUM7TUFDMUIsTUFBTSxFQUFFLE9BQU87TUFDZixLQUFLLEVBQUUsSUFBSTtNQUNYLEtBQUssRUFBRSxxQkFBcUI7TUFDNUIsVUFBVSxFQUFFLHVCQUF1QjtNQUNuQyxTQUFTLEVBQUUsS0FBSyxHQUtuQjtNQXRDVCxBQW1DZ0Isb0JBbkNJLEFBMEJoQixpQkFBa0IsR0FFVix5QkFBeUIsR0FPckIsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxFQUFFLGVBQWUsR0FDMUI7RUFyQ2IsQUEwQ1Esb0JBMUNZLENBeUNoQixtQkFBbUIsQ0FDZix3QkFBd0IsQ0FBQztJQUNyQixLQUFLLEVBQUUscUJBQXFCO0lBQzVCLFVBQVUsRUFBRSx1QkFBdUI7SUFDbkMsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBSVQsQUFBQSxXQUFXLENBQUM7RUFDUixjQUFjLEVBQUUsR0FBRztFQUNuQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELGdCQUFnQjtBQUNoQix5REFBeUQ7QUFDekQsQUFBQSxVQUFVLEVBQUUsQUFBQSxNQUFNLEFBQUEsVUFBVSxDQUFDO0VBR3JCLG9DQUFvQyxFQUszQzs7QUFFRCwwRkFBMEY7QUFDMUYsQUFBQSxRQUFRLENBQUM7RUFDTCxjQUFjLEVBQUUsR0FBRztFQUNuQixPQUFPLEVBQUUsQ0FBQztFQUdOLE1BQU0sRU5xR0UsR0FBRyxDQUFDLEtBQUssQ0RwTGIsT0FBbUI7RU9nRnZCLFVBQVUsRVByRlQsT0FBb0I7RU80RnJCLHVEQUF1RDtFQUN2RCwyQ0FBMkM7RUErQi9DLFNBQVM7RUFVVCxpQkFBaUI7RUFJakIsUUFBUSxFQUlYO0VBL0RELEFBZVEsUUFmQSxDQWVBLEtBQUssQ0FBQSxBQUFBLFFBQUMsQ0FBUyxVQUFVLEFBQW5CLEdBZmQsQUFlb0MsUUFmNUIsQ0FlNEIsS0FBSyxDQUFBLEFBQUEsUUFBQyxBQUFBLEdBZjFDLEFBZXFELFFBZjdDLENBZTZDLE1BQU0sQ0FBQSxBQUFBLFFBQUMsQUFBQTtFQWY1RCxBQWdCUSxRQWhCQSxDQWdCQSxLQUFLLENBQUEsQUFBQSxRQUFDLENBQVMsVUFBVSxBQUFuQixHQWhCZCxBQWdCb0MsUUFoQjVCLENBZ0I0QixLQUFLLENBQUEsQUFBQSxRQUFDLEFBQUE7RUFoQjFDLEFBaUJRLFFBakJBLENBaUJBLE1BQU0sQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0lBQ2IsZ0JBQWdCLEVQakduQixPQUFvQixHT2tHcEI7RUFuQlQsQUErQkksUUEvQkksQUErQkosWUFBYSxFQS9CakIsQUErQm1CLFFBL0JYLEFBK0JXLHVCQUF3QixDQUFDO0lBR2hDLFlBQVksRVA1R1osT0FBbUI7SU82R25CLDBDQUEwQztJQUMxQyw0REFBNEQ7SUFDNUQ7OzRCQUVnQixFQUt2QjtFQTVDTCxBQWdETSxRQWhERSxDQWdERixLQUFLLEFBQUEsMkJBQTJCLENBQUM7SUFDL0IsS0FBSyxFUHZITCxrQkFBTyxHT3dIVjtFQWxETCxBQW9ETSxRQXBERSxDQW9ERixLQUFLLEFBQUEsa0JBQWtCLENBQUM7SUFDdEIsS0FBSyxFUDNITCxrQkFBTyxHTzRIVjtFQXRETCxBQXdETSxRQXhERSxDQXdERixLQUFLLEFBQUEsc0JBQXNCLENBQUM7SUFDMUIsS0FBSyxFUC9ITCxrQkFBTyxHT2dJVjtFQTFETCxBQTRETSxRQTVERSxDQTRERixLQUFLLEFBQUEsaUJBQWlCLENBQUM7SUFDckIsS0FBSyxFUG5JTCxrQkFBTyxHT29JVjs7QUFHTCxtQkFBbUI7QUFDbkIsQUFBQSxhQUFhLENBQUM7RUFFTixLQUFLLEVQMUlMLE9BQU87RU80SVgsWUFBWSxFUHhLUCxPQUEwRDtFT3lLL0QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtFQUMzQyxPQUFPLEVBQUUsQ0FBQyxHQUtiO0VBWEQsQUFRSSxhQVJTLEFBUVQsWUFBYSxFQVJqQixBQVFtQixhQVJOLEFBUU0sdUJBQXdCLENBQUM7SUFDcEMsWUFBWSxFUDdLWCxPQUEwRCxHTzhLOUQ7O0FBR0wsQUFBQSx1QkFBdUIsQUFBQSxhQUFhLENBQUM7RUFDakMsWUFBWSxFUGxMUCxPQUEwRDtFT21ML0QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtFQUMzQyxPQUFPLEVBQUUsQ0FBQyxHQUtiO0VBUkQsQUFLSSx1QkFMbUIsQUFBQSxhQUFhLEFBS2hDLFlBQWEsRUFMakIsQUFLbUIsdUJBTEksQUFBQSxhQUFhLEFBS2pCLHVCQUF3QixDQUFDO0lBQ3BDLFlBQVksRVB2TFgsT0FBMEQsR093TDlEOztBQUVMLEFBQUEsaUJBQWlCLENBQUM7RUFJVixZQUFZLEVQdEtSLE9BQW1CLEdPMks5Qjs7QUFFRCxBQUFBLFFBQVEsQUFBQSxZQUFZLENBQUM7RUFJYixZQUFZLEVQN0xmLE9BQU87RU9xTUosVUFBVSxFUG5MSixPQUFPLEdPaU5wQjtFQTFDRCxBQWNRLFFBZEEsQUFBQSxZQUFZLENBY1osS0FBSyxDQUFBLEFBQUEsUUFBQyxDQUFTLFVBQVUsQUFBbkIsR0FkZCxBQWNvQyxRQWQ1QixBQUFBLFlBQVksQ0FjZ0IsS0FBSyxDQUFBLEFBQUEsUUFBQyxBQUFBLEdBZDFDLEFBY3FELFFBZDdDLEFBQUEsWUFBWSxDQWNpQyxNQUFNLENBQUEsQUFBQSxRQUFDLEFBQUE7RUFkNUQsQUFlUSxRQWZBLEFBQUEsWUFBWSxDQWVaLEtBQUssQ0FBQSxBQUFBLFFBQUMsQ0FBUyxVQUFVLEFBQW5CLEdBZmQsQUFlb0MsUUFmNUIsQUFBQSxZQUFZLENBZWdCLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQTtFQWYxQyxBQWdCUSxRQWhCQSxBQUFBLFlBQVksQ0FnQlosTUFBTSxDQUFBLEFBQUEsUUFBQyxBQUFBLEVBQVU7SUFDYixnQkFBZ0IsRVB4TGQsT0FBTyxHT3lMWjtFQWxCVCxBQTJCSSxRQTNCSSxBQUFBLFlBQVksQUEyQmhCLGlCQUFrQixDQUFDO0lBQ2YsT0FBTyxFQUFFLElBQUksR0FDaEI7RUE3QkwsQUErQkksUUEvQkksQUFBQSxZQUFZLEFBK0JoQixZQUFhLEVBL0JqQixBQStCbUIsUUEvQlgsQUFBQSxZQUFZLEFBK0JELHVCQUF3QixDQUFDO0lBSWhDLFlBQVksRVA1Tm5CLE9BQU87SU82TkEsVUFBVSxFUDNNUixPQUFPLEdPZ05oQjs7QUFHTCxBQUFBLFFBQVEsQUFBQSxZQUFZLEFBQUEsYUFBYSxDQUFDO0VBQzlCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsUUFBUSxBQUFBLFlBQVksQUFBQSxNQUFNLENBQUM7RUFDdkIsWUFBWSxFQUFFLE9BQU8sR0FDeEI7O0FBR0QsQUFBQSxLQUFLLENBQUEsQUFBQSxRQUFDLENBQVMsVUFBVSxBQUFuQixHQUFzQixBQUFBLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxHQUFXLEFBQUEsTUFBTSxDQUFBLEFBQUEsUUFBQyxBQUFBO0FBQ3BELEFBQUEsS0FBSyxDQUFBLEFBQUEsUUFBQyxDQUFTLFVBQVUsQUFBbkIsR0FBc0IsQUFBQSxLQUFLLENBQUEsQUFBQSxRQUFDLEFBQUE7QUFDbEMsQUFBQSxNQUFNLENBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVTtFQUNiLGdCQUFnQixFQUFFLEtBQUssR0FDMUI7O0FBSUQsOENBQThDO0FBRTlDLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixTQUFTLEVBQUUsQ0FBQztFQUNaLGNBQWMsRUFBRSxHQUFHO0VBQ25COzJCQUN1QjtFQUN2QixNQUFNLEVBQUUsYUFBYTtFQUNyQixPQUFPLEVBQUMsQ0FBQztFQUNULFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLFlBQVk7RUp2UnJCLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSSxHSXdSNUI7O0FBQ0QsQUFBcUIsa0JBQUgsR0FBRyx1QkFBdUIsQ0FBQztFQUN6QyxXQUFXO0VBQ1gsUUFBUSxFQUFFLE1BQU07RUFDaEIsR0FBRyxFQUFFLEdBQUc7RUFDUixLQUFLLEVBQUUsR0FBRztFQUNWLFVBQVUsRUFBTyxLQUFLO0VBQ3RCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixTQUFTLEVBQUUsTUFBTTtFQUNqQixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRU5hVSxtQkFBSyxHTUN2QjtFQWxCRCxBQU1NLHVCQU5pQixHQU1qQixJQUFJLENBQUM7SUFDSCxTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQVJMLEFBVUksdUJBVm1CLEFBVW5CLFFBQVMsQ0FBQztJQUlOLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRU5DSyxtQkFBSztJTUFmLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQU1MOztFQUVFO0FBQ0YsQUFBQSxnQkFBZ0IsQUFBQSxhQUFhLENBQUM7RUFDMUI7O09BRUcsRUE4Qk47RUFqQ0QsQUFJTSxnQkFKVSxBQUFBLGFBQWEsR0FJdkIsdUJBQXVCLEFBRXJCLE1BQU8sQ0FBQztJQUNKLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFUHRUZCxPQUF5RCxHT3VUeEQ7RUFUVCxBQUlNLGdCQUpVLEFBQUEsYUFBYSxHQUl2Qix1QkFBdUIsQUFPckIsUUFBUyxDQUFDO0lBQ047dUNBQzJCO0lBQzNCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0VBaEJULEFBbUIwQixnQkFuQlYsQUFBQSxhQUFhLEFBbUJ6QixvQkFBcUIsQ0FBQyx1QkFBdUIsQUFFekMsTUFBTyxDQUFDO0lBQ0osTUFBTSxFQUFFLE9BQU87SUFDZixVQUFVLEVQclVkLE9BQXlELEdPc1V4RDtFQXhCVCxBQW1CMEIsZ0JBbkJWLEFBQUEsYUFBYSxBQW1CekIsb0JBQXFCLENBQUMsdUJBQXVCLEFBT3pDLFFBQVMsQ0FBQztJQUNOO2dEQUNvQztJQUNwQyxXQUFXLEVBQUUsV0FBVztJQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFVVCxBQUNJLFNBREssQUFBQSxPQUFPLENBQ1osUUFBUSxDQUFDO0VBQ0wsTUFBTSxFQUFFLGNBQWM7RUFDdEIsVUFBVSxFQUFFLFNBQVMsR0FDeEI7O0FBSkwsQUFNSSxTQU5LLEFBQUEsT0FBTyxDQU1aLHNCQUFzQixDQUFDO0VBQ25CLE1BQU0sRUFBRSxhQUFhO0VBQ3JCLFVBQVUsRUFBRSw2Q0FBOEMsR0FDN0Q7O0FBVEwsQUFXSSxTQVhLLEFBQUEsT0FBTyxDQVdaLHdCQUF3QixDQUFDO0VBQ3JCLE1BQU0sRUFBRSxhQUFhO0VBQ3JCLFVBQVUsRUFBRSw0Q0FBNEMsR0FDM0Q7O0FBZEwsQUFnQkksU0FoQkssQUFBQSxPQUFPLENBZ0JaLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFQUFFLE1BQU07RUFDbEIsTUFBTSxFQUFFLGlCQUFpQixHQUM1Qjs7QUFuQkwsQUFxQkksU0FyQkssQUFBQSxPQUFPLENBcUJaLG9CQUFvQixDQUFDO0VBQ2pCLFVBQVUsRUFBRSx3QkFBd0IsR0FDdkM7O0FBdkJMLEFBeUJJLFNBekJLLEFBQUEsT0FBTyxDQXlCWixNQUFNLENBQUM7RUFDSCw4QkFBOEI7RUFDMUI7OzswQ0FHOEIsRUFDakM7O0FBRUwsa0JBQWtCO0FBQ2xCLGdCQUFnQjtBQUNoQjs7Ozs7Ozs7Ozs7OztHQWFEO0FBQ0MsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUVMLG1CQUFtQjtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQWNmLGtCQUFrQjtFQVlsQjs7T0FFRCxFQUNGO0VBaENELEFBS1EsUUFMQSxHQUtBLGdCQUFnQixDQUFDO0lBQ2pCLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBUEwsQUFTUSxRQVRBLEdBU0Esd0JBQXdCO0VBVGhDLEFBVVEsUUFWQSxHQVVBLHNCQUFzQjtFQVY5QixBQVdRLFFBWEEsR0FXQSxvQkFBb0I7RUFYNUIsQUFZUSxRQVpBLEdBWUEsZ0JBQWdCO0VBWnhCLEFBYVEsUUFiQSxHQWFBLG9CQUFvQixDQUFDO0lBQ3JCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFlBQVksRUFBRSxLQUFLLEdBQ3RCO0VBaEJMLEFBa0JNLFFBbEJFLEdBa0JGLFVBQVUsQ0FBQztJQUNULEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFwQkwsQUFzQk0sUUF0QkUsR0FzQkYsVUFBVSxDQUFDO0lBQ1QsS0FBSyxFQUFFLG1CQUFtQixHQUM3QjtFQXhCTCxBQTBCTSxRQTFCRSxHQTBCRixVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsa0JBQWtCLEdBQzVCOztBQU9MLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsY0FBYyxFQUFFLE1BQU07RUFDdEIsZUFBZSxFQUFFLFVBQVU7RUFDM0IsU0FBUyxFQUFFLElBQUk7RUF1QmY7O09BRUQsRUFDRjtFQTlCRCxBQU1hLHNCQU5TLEFBTWxCLEtBQU0sR0FBRyx3QkFBd0I7RUFOckMsQUFPYSxzQkFQUyxBQU9sQixLQUFNLEdBQUcsc0JBQXNCO0VBUG5DLEFBUWEsc0JBUlMsQUFRbEIsS0FBTSxHQUFHLG9CQUFvQjtFQVJqQyxBQVNhLHNCQVRTLEFBU2xCLEtBQU0sR0FBRyxnQkFBZ0IsQ0FBQztJQUN0QixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQVhMLEFBYU0sc0JBYmdCLEdBYWhCLFVBQVUsQ0FBQztJQUNULEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLElBQUksR0FDbEI7RUFoQkwsQUFrQk0sc0JBbEJnQixHQWtCaEIsVUFBVSxDQUFDO0lBQ1QsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQXJCTCxBQXVCTSxzQkF2QmdCLEdBdUJoQixVQUFVLENBQUM7SUFDVCxLQUFLLEVBQUUsTUFBTTtJQUNiLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQU9MLEFBQUEsd0JBQXdCLENBQUM7RUFDckIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsU0FBUyxFQUFFLElBQUk7RUFDZixlQUFlLEVBQUUsVUFBVTtFQVkzQixnREFBZ0QsRUF1Q25EO0VBdkRELEFBTWEsd0JBTlcsQUFNcEIsS0FBTSxHQUFHLHdCQUF3QjtFQU5yQyxBQU9hLHdCQVBXLEFBT3BCLEtBQU0sR0FBRyxzQkFBc0I7RUFQbkMsQUFRYSx3QkFSVyxBQVFwQixLQUFNLEdBQUcsb0JBQW9CO0VBUmpDLEFBU2Esd0JBVFcsQUFTcEIsS0FBTSxHQUFHLGdCQUFnQixDQUFDO0lBQ3RCLFlBQVksRUFBRSxLQUFLLEdBS3RCO0lBZkwsQUFNYSx3QkFOVyxBQU1wQixLQUFNLEdBQUcsd0JBQXdCLEFBTWhDLFdBQWU7SUFacEIsQUFPYSx3QkFQVyxBQU9wQixLQUFNLEdBQUcsc0JBQXNCLEFBSzlCLFdBQWU7SUFacEIsQUFRYSx3QkFSVyxBQVFwQixLQUFNLEdBQUcsb0JBQW9CLEFBSTVCLFdBQWU7SUFacEIsQUFTYSx3QkFUVyxBQVNwQixLQUFNLEdBQUcsZ0JBQWdCLEFBR3hCLFdBQWUsQ0FBQztNQUNULFlBQVksRUFBRSxDQUFDLEdBQ2xCO0VBZFQsQUFrQlksd0JBbEJZLEdBaUJsQixvQkFBb0IsR0FDZCxLQUFLLENBQUM7SUFDTixJQUFJLEVBQUUsU0FBUztJQUNmLDBEQUEwRDtJQUMxRCxXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQXhCVCxBQTJCTSx3QkEzQmtCLEdBMkJsQixVQUFVLENBQUM7SUFDVCxTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBOUJMLEFBZ0NNLHdCQWhDa0IsR0FnQ2xCLFVBQVUsQ0FBQztJQUNULFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFuQ0wsQUFxQ00sd0JBckNrQixHQXFDbEIsVUFBVSxDQUFDO0lBQ1QsU0FBUyxFQUFFLE1BQU07SUFDakIsS0FBSyxFQUFFLElBQUksR0FDZDtFQXhDTCxBQTJDTSx3QkEzQ2tCLEdBMkNsQixhQUFhLENBQUM7SUFDWiwwQkFBMEIsRUFNN0I7SUFsREwsQUEyQ00sd0JBM0NrQixHQTJDbEIsYUFBYSxBQUVYLFVBQVcsQ0FBQztNQUNSLG9CQUFvQjtNQUNwQixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQVFULHlCQUF5QjtBQUN6QixBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLHNCQUFzQjtFQUMvQixTQUFTLEVBQUUsUUFBUTtFQUNuQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsd0JBQXdCLENBQUM7RUFDckIsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFFRCxBQUNJLFFBREksQ0FDSix3QkFBd0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsbUJBQW1CLEdBQzdCOztBQUdMLEFBQUEseUJBQXlCLENBQUM7RUFDdEIsNkJBQTZCO0VBQzdCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRUFBRSwwQkFBMEIsR0FDcEM7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxNQUFNLEVBQUUsR0FBRyxDUDFnQlgsT0FBTyxDTzBnQlksS0FBSyxHQUMzQjs7QUFJRCxxREFBcUQ7QUFDckQsY0FBYztBQUNkLHFEQUFxRDtBQUNyRCxBQUF1QixvQkFBSCxHQUFHLEdBQUcsQUFBQSxRQUFRLENBQUM7RUFDL0IsMEJBQTBCO0VBQzFCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLElBQUksRUFBRSxJQUFJO0VBTVYsZ0JBQWdCLEVBaUJuQjtFQTFCRCxBQUlJLG9CQUpnQixHQUFHLEdBQUcsQUFBQSxRQUFRLENBSTlCLENBQUMsQ0FBQztJQUNFLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsT0FBTyxFQUFFLEdBQUcsR0FDZjtFQVJMLEFBWVEsb0JBWlksR0FBRyxHQUFHLEFBQUEsUUFBUSxBQVU5QixTQUFVLENBRU4sQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUUsR0FBRztJQUNaLGdCQUFnQixFUDlqQnZCLE9BQTBEO0lPK2pCbkQsS0FBSyxFUC9oQmIsT0FBTztJT2dpQkMsTUFBTSxFQUFFLHFCQUFxQixHQU9oQztJQXhCVCxBQVlRLG9CQVpZLEdBQUcsR0FBRyxBQUFBLFFBQVEsQUFVOUIsU0FBVSxDQUVOLENBQUMsQUFPRyxNQUFPLEVBbkJuQixBQVlRLG9CQVpZLEdBQUcsR0FBRyxBQUFBLFFBQVEsQUFVOUIsU0FBVSxDQUVOLENBQUMsQUFPWSxPQUFRLEVBbkI3QixBQVlRLG9CQVpZLEdBQUcsR0FBRyxBQUFBLFFBQVEsQUFVOUIsU0FBVSxDQUVOLENBQUMsQUFPc0IsTUFBTyxDQUFDO01BQ3ZCLDhCQUE4QjtNQUM5QixZQUFZLEVQMWpCM0IsT0FBTztNTzJqQlEsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFjLEdBQzFDOztBQUtiLEFBQUEsZUFBZSxDQUFDO0VBQ1osSUFBSSxFQUFFLElBQUk7RUFDVixZQUFZLEVBQUUsS0FBSyxHQUN0Qjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZTtFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEtBQUssR0FDakI7O0FBR0QsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7O0FBS0QsQUFFSSxtQkFGZSxBQUVmLFFBQVMsQ0FBQztFQUNOLFlBQVksRUFBRSxHQUFHO0VBQ2pCLFlBQVksRUFBRSxNQUFNO0VBQ3BCOztzQkFFVTtFQUNWLFVBQVUsRUFBRSxHQUFHLEdBQ2xCOztBQVRMLEFBV0ksbUJBWGUsQUFXZixZQUFhLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBR0QsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNWLGNBQWMsRUFBRSxHQUFHO0VBQ25CLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBT0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxHQUFHO0VBQ1osV0FBVyxFQUFFLEtBQUs7RUFnRGxCOztPQUVELEVBb0RGO0VBekdELEFBS00saUJBTFcsR0FLWCxHQUFHLENBQUM7SUFDRixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLE1BQU0sR0FDeEI7RUFWTCxBQWFZLGlCQWJLLEFBWWIsWUFBYSxHQUNMLEdBQUcsQ0FBQztJQUNKLE9BQU8sRUFBRSxlQUFlLEdBQzNCO0VBZlQsQUFrQk0saUJBbEJXLEdBa0JYLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxLQUFLLEVBQUUsR0FBRztJQUNWLEdBQUcsRUFBRSxDQUFDO0lBQ04sUUFBUSxFQUFFLE1BQU07SUFDaEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsT0FBTyxFQUFFLEdBQUc7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQixnQ0FBZ0M7SUFDaEMsd0JBQXdCO0lBQ3hCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsNEZBQTRGO0lBQzVGLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE1BQU0sRUFBRSxpQkFBaUIsR0FhNUI7SUFsREwsQUEwQ3FCLGlCQTFDSixHQWtCWCxVQUFVLEFBd0JSLFdBQVksQ0FBQyxjQUFjLENBQUM7TUFDeEIsZUFBZSxFQUFFLFlBQVk7TUFDN0IsS0FBSyxFTnRxQlYsT0FBTyxHTXVxQkw7SUE3Q1QsQUErQ1EsaUJBL0NTLEdBa0JYLFVBQVUsQ0E2QlIsVUFBVSxDQUFDO01BQ1AsS0FBSyxFQUFFLGtCQUFjLEdBQ3hCO0VBakRULEFBc0RJLGlCQXREYSxDQXNEYixjQUFjLENBQUM7SUFDWCxPQUFPLEVBQUUsS0FBSyxHQThCakI7SUFyRkwsQUF5RFEsaUJBekRTLENBc0RiLGNBQWMsQ0FHVixNQUFNLENBQUM7TUFDSCxTQUFTLEVBQUUsT0FBTztNQUNsQixPQUFPLEVBQUUsWUFBWTtNQUNyQixLQUFLLEVBQUUsT0FBTztNQUNkLFVBQVUsRUFBRSxPQUFPO01BQ25CLE1BQU0sRUFBRSxJQUFJO01BQ1osT0FBTyxFQUFFLE9BQU87TUFDaEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsY0FBYyxFQUFFLE1BQU07TUFDdEIsTUFBTSxFQUFFLENBQUM7TUFDVCxZQUFZLEVBQUUsR0FBRyxHQVlwQjtNQS9FVCxBQXFFWSxpQkFyRUssQ0FzRGIsY0FBYyxDQUdWLE1BQU0sQ0FZRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO1FBQ25CLE1BQU0sRUFBRSxDQUFDO1FBQ1QsY0FBYyxFQUFFLE1BQU0sR0FDekI7TUF4RWIsQUF5RFEsaUJBekRTLENBc0RiLGNBQWMsQ0FHVixNQUFNLEFBaUJGLE1BQU8sQ0FBQztRQUNKLGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxLQUFLLEVQdHNCakIsT0FBTztRT3VzQkssVUFBVSxFQUFFLElBQUksR0FDbkI7SUE5RWIsQUFpRlEsaUJBakZTLENBc0RiLGNBQWMsQ0EyQlYsS0FBSyxDQUFDO01BQ0YsVUFBVSxFQUFFLE9BQU87TUFDbkIsS0FBSyxFQUFFLE9BQU8sR0FDakI7RUFwRlQsQUF1RkksaUJBdkZhLENBdUZiLGVBQWUsQ0FBQztJQUNaLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0VBMUZMLEFBNEZvQixpQkE1RkgsQ0E0RmIsZUFBZSxFQUFDLEFBQUEsSUFBQyxDQUFELElBQUMsQUFBQSxFQUFXO0lBQ3hCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsQ0FBQztJQUNSLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLEdBQUcsRUFBRSxDQUFDLEdBQ1Q7O0FBR0wsQUFBQSx1QkFBdUIsQ0FBQztFQUNwQixRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLEdBQUcsR0FtRmxCO0VBdkZELEFBTUksdUJBTm1CLENBTW5CLFdBQVcsQ0FBQztJQUNSLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLENBQUM7SUFFVCxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEtBQUssRUFBRSxrQkFBZTtJQUN0QixVQUFVLEVBQUUsT0FBTztJQUNuQixNQUFNLEVBQUUsSUFBSTtJQUNaLG9DQUFvQztJQUNwQyxPQUFPLEVBQUUsT0FBTztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixjQUFjLEVBQUUsTUFBTSxHQU96QjtJQXpCTCxBQU1JLHVCQU5tQixDQU1uQixXQUFXLEFBY1AsTUFBTyxDQUFDO01BQ0osZ0JBQWdCLEVBQUUsbUJBQW1CO01BQ3JDLEtBQUssRVAzdkJiLE9BQU87TU80dkJDLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBeEJULEFBMkJJLHVCQTNCbUIsQ0EyQm5CLFdBQVcsQ0FBQztJQUNSLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLEtBQUssRUFBRSxPQUFPO0lBQ2QsVUFBVSxFQUFFLE9BQU87SUFDbkIsNEJBQTRCO0lBQzVCLE1BQU0sRUFBRSxJQUFJO0lBQ1osV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQWdCO0lBQ3ZDLHlCQUF5QixFQUFFLEdBQUc7SUFDOUIsc0JBQXNCLEVBQUUsR0FBRztJQUMzQixjQUFjLEVBQUUsTUFBTTtJQUN0Qjs7O1dBR0QsRUFNRjtJQS9DTCxBQTJCSSx1QkEzQm1CLENBMkJuQixXQUFXLEFBZVAsTUFBTyxDQUFDO01BQ0osZ0JBQWdCLEVBQUUsbUJBQW1CO01BQ3JDLEtBQUssRVBqeEJiLE9BQU87TU9reEJDLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBOUNULEFBaURtQix1QkFqREksQ0FpRG5CLFlBQVksR0FBRyxHQUFHLENBQUM7SUFDZixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLHNCQUFzQixHQWlDbEM7SUF0RkwsQUFpRG1CLHVCQWpESSxDQWlEbkIsWUFBWSxHQUFHLEdBQUcsQUFNZCxNQUFPLENBQUM7TUFDSixPQUFPLEVBQUUsbUJBQW1CO01BQzVCLDRDQUE0QyxFQUMvQztJQTFEVCxBQTREVSx1QkE1RGEsQ0FpRG5CLFlBQVksR0FBRyxHQUFHLEdBV1osR0FBRyxDQUFDO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFFWCxRQUFRLEVBQUUsUUFBUTtNQUNsQixNQUFNLEVBQUUsS0FBSyxHQXFCaEI7TUFyRlQsQUFrRWMsdUJBbEVTLENBaURuQixZQUFZLEdBQUcsR0FBRyxHQVdaLEdBQUcsR0FNQyxJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEdBQUcsRUFBRSxDQUFDO1FBQ04sSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxDQUFDO1FBRVQsU0FBUyxFQUFFLFVBQVU7UUFDckIsYUFBYSxFQUFFLFFBQVE7UUFDdkIsV0FBVyxFQUFFLE1BQU07UUFDbkIsUUFBUSxFQUFFLE1BQU0sR0FDbkI7TUE5RWIsQUFnRmMsdUJBaEZTLENBaURuQixZQUFZLEdBQUcsR0FBRyxHQVdaLEdBQUcsR0FvQkMsTUFBTSxDQUFDO1FBQ0wsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLENBQUM7UUFDUixHQUFHLEVBQUUsQ0FBQyxHQUNUOztBQUtiLEFBQ0ksdUJBRG1CLEFBQUEsWUFBWSxDQUMvQixXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsSUFDYixHQUFFOztBQVNOLEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsS0FBSyxFQUFFLEdBQUcsR0FDYjs7QUFJRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLEdBQUcsR0FDbEI7O0FBRUQsQUFBMkIsd0JBQUgsR0FBRyxJQUFJLENBQUM7RUFDNUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBRUQsQUFBMkIsd0JBQUgsR0FBRyxLQUFLLENBQUM7RUFDN0IsU0FBUyxFQUFFLFVBQVU7RUFDckIsU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsR0FDaEIsR0FBRTs7QUFHRixBQUNNLG9CQURjLEdBQ2QsS0FBSyxDQUFDO0VBQ0osTUFBTSxFQUFFLEdBQUc7RUFHUCxNQUFNLEVBQUUsS0FBSztFQUNiLFdBQVcsRUFBRSxLQUFLO0VBR3RCLE9BQU8sRUFBRSxLQUFLLEdBQ2pCOztBQVZMLEFBWWMsb0JBWk0sR0FZZCxLQUFLLEdBQUcsS0FBSyxDQUFDO0VBQ1osTUFBTSxFQUFFLEdBQUc7RUFDWCxPQUFPLEVBQUUsR0FBRztFQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQWhCTCxBQWtCYyxvQkFsQk0sR0FrQmQsS0FBSyxHQUFHLElBQUksQ0FBQztFQUNYLE1BQU0sRUFBRSxHQUFHO0VBQ1gsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBR0wsQUFBQSxvQkFBb0IsQUFBQSwyQkFBMkIsQ0FBQztFQUM1QyxrQkFBa0I7RUFDbEIsc0JBQXNCLEVBbUp6QjtFQXJKRCxBQUdNLG9CQUhjLEFBQUEsMkJBQTJCLEdBR3pDLEtBQUssQ0FBQztJQUNKLG9CQUFvQixFQUN2QjtFQUxMLEFBT00sb0JBUGMsQUFBQSwyQkFBMkIsR0FPekMsR0FBRyxDQUFDO0lBQ0YsNERBQTREO0lBQzVELGlDQUFpQztJQUNqQyxRQUFRLEVBQUUsSUFBSTtJQUNkOytFQUNtRSxFQUN0RTtFQWJMLEFBZUksb0JBZmdCLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQUFDO0lBQ2YsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsR0FBRyxHQW1JbEI7SUFwSkwsQUFlSSxvQkFmZ0IsQUFBQSwyQkFBMkIsQ0FlM0Msa0JBQWtCLEFBR2QsUUFBUyxDQUFDO01BQ04saUJBQWlCO01BQ2pCLHFCQUFxQixFQUN4QjtJQXJCVCxBQWVJLG9CQWZnQixBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQUFRZCxZQUFhLENBQUM7TUFDVixVQUFVLEVBQUUsZUFBZSxHQWlDOUI7TUF6RFQsQUEyQmdCLG9CQTNCSSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQUFRZCxZQUFhLENBR1Qsc0JBQXNCLENBQ2xCLE1BQU0sQ0FBQztRQUNILG1DQUFtQztRQUNuQyxVQUFVLEVQdDVCcEIsT0FBTztRTzg1QkcsT0FBTyxFQUFFLElBQUksR0FrQmhCO1FBdkRqQixBQTJCZ0Isb0JBM0JJLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixBQVFkLFlBQWEsQ0FHVCxzQkFBc0IsQ0FDbEIsTUFBTSxBQU1GLE1BQU8sQ0FBQztVQUNKLFlBQVksRUFBRSxXQUFXLEdBQzVCO1FBbkNyQixBQTJCZ0Isb0JBM0JJLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixBQVFkLFlBQWEsQ0FHVCxzQkFBc0IsQ0FDbEIsTUFBTSxBQVlGLFNBQVUsQ0FBQztVQUNQLE9BQU8sRUFBRSxZQUFZO1VBQ3JCLFVBQVUsRUFBTyxtQkFBSztVQUN0QixLQUFLLEVQcjZCekIsbUJBQU87VU9zNkJhLFVBQVUsRUFBRSxXQUFXLEdBVzFCO1VBdERyQixBQTZDMEIsb0JBN0NOLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixBQVFkLFlBQWEsQ0FHVCxzQkFBc0IsQ0FDbEIsTUFBTSxBQVlGLFNBQVUsR0FNSixHQUFHLENBQUM7WUFDRixXQUFXLEVBQUUsR0FBRztZQUNoQixZQUFZLEVBQUUsR0FBRyxHQUNwQjtVQWhEekIsQUEyQmdCLG9CQTNCSSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQUFRZCxZQUFhLENBR1Qsc0JBQXNCLENBQ2xCLE1BQU0sQUFZRixTQUFVLEFBV04sT0FBUSxDQUFDO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixLQUFLLEVQLzZCN0Isa0JBQU8sR09nN0JjO0lBckR6QixBQTREUSxvQkE1RFksQUFBQSwyQkFBMkIsQ0FlM0Msa0JBQWtCLENBNkNkLHNCQUFzQixDQUFDO01BQ25CLE9BQU8sRUFBRSxJQUFJO01BQ2IsSUFBSSxFQUFFLFFBQVE7TUFDZCwwQkFBMEIsRUFvRjdCO01BbkpULEFBNERRLG9CQTVEWSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQ0E2Q2Qsc0JBQXNCLEFBS2xCLFlBQWEsQ0FBQztRQUNWLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO01BcEViLEFBNERRLG9CQTVEWSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQ0E2Q2Qsc0JBQXNCLEFBVWxCLGNBQWUsQ0FBQztRQUNaLFNBQVMsRUFBRSxJQUFJLEdBY2xCO1FBckZiLEFBeUVnQixvQkF6RUksQUFBQSwyQkFBMkIsQ0FlM0Msa0JBQWtCLENBNkNkLHNCQUFzQixBQVVsQixjQUFlLENBR1gsTUFBTSxDQUFDO1VBQ0gsSUFBSSxFQUFFLFFBQVE7VUFDZDs7Ozs7Ozs7dUJBUUQsRUFDRjtNQXBGakIsQUF5Rlksb0JBekZRLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQTZDZCxzQkFBc0IsQ0E2QmxCLE1BQU0sQ0FBQztRQUNILFFBQVEsRUFBRSxRQUFRO1FBQ2xCLElBQUksRUFBRSxRQUFRO1FBQ2QsTUFBTSxFQUFFLHFCQUFxQjtRQUM3Qiw0QkFBNEI7UUFDNUIsVUFBVSxFUGwrQnJCLE9BQW9CO1FPbStCVCxVQUFVLEVBQUUsSUFBSTtRQUNoQixVQUFVLEVBQUUsR0FBRztRQUNmLEtBQUssRVA1OUJqQixrQkFBTztRTzY5QkssTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixPQUFPLEVBQUUsQ0FBQztRQUNWLE1BQU0sRUFBRSxDQUFDO1FBUVQ7O21CQUVELEVBb0NGO1FBbEpiLEFBc0drQixvQkF0R0UsQUFBQSwyQkFBMkIsQ0FlM0Msa0JBQWtCLENBNkNkLHNCQUFzQixDQTZCbEIsTUFBTSxHQWFBLEdBQUcsQ0FBQztVQUVGLFdBQVcsRUFBRSxLQUFLO1VBQ2xCLFFBQVEsRUFBRSxNQUFNO1VBQ2hCLGFBQWEsRUFBRSxRQUFRLEdBQzFCO1FBM0dqQixBQXlGWSxvQkF6RlEsQUFBQSwyQkFBMkIsQ0FlM0Msa0JBQWtCLENBNkNkLHNCQUFzQixDQTZCbEIsTUFBTSxBQXNCRixPQUFRLENBQUM7VUFDTCxRQUFRLEVBQUUsUUFBUTtVQUNsQixHQUFHLEVBQUUsa0JBQWtCO1VBQ3ZCLElBQUksRUFBRSxLQUFLO1VBQ1gsV0FBVyxFQUFFLFdBQVc7VUFDeEIsT0FBTyxFQUFFLE9BQU87VUFDaEIsVUFBVSxFQUFFLElBQUk7VUFDaEIsU0FBUyxFQUFFLFVBQVUsR0FDeEI7UUF2SGpCLEFBeUZZLG9CQXpGUSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQ0E2Q2Qsc0JBQXNCLENBNkJsQixNQUFNLEFBZ0NGLE1BQU8sRUF6SHZCLEFBeUZZLG9CQXpGUSxBQUFBLDJCQUEyQixDQWUzQyxrQkFBa0IsQ0E2Q2Qsc0JBQXNCLENBNkJsQixNQUFNLEFBZ0NPLE1BQU8sQ0FBQztVQUNiLG9EQUFvRDtVQUNwRCxZQUFZLEVQNS9CM0Isc0JBQW9CLEdPNi9CUjtRQTVIakIsQUF5Rlksb0JBekZRLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQTZDZCxzQkFBc0IsQ0E2QmxCLE1BQU0sQUFxQ0YsTUFBTyxFQTlIdkIsQUF5Rlksb0JBekZRLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQTZDZCxzQkFBc0IsQ0E2QmxCLE1BQU0sQUFxQ08sT0FBUSxDQUFDO1VBQ2QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENQdGhDakMsT0FBMEQsR091aEM5QztRQWhJakIsQUF5Rlksb0JBekZRLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQTZDZCxzQkFBc0IsQ0E2QmxCLE1BQU0sQUEwQ0YsU0FBVSxDQUFDO1VBQ1AsOENBQThDO1VBQzlDLEtBQUssRVBoZ0NyQixtQkFBTztVT2lnQ1MsVUFBVSxFUHZnQ3pCLHNCQUFvQjtVT3dnQ0wsS0FBSyxFQUFFLEtBQUssR0FVZjtVQWpKakIsQUF5Rlksb0JBekZRLEFBQUEsMkJBQTJCLENBZTNDLGtCQUFrQixDQTZDZCxzQkFBc0IsQ0E2QmxCLE1BQU0sQUEwQ0YsU0FBVSxBQU1OLE9BQVEsQ0FBQztZQUNMLCtCQUErQjtZQUMvQixLQUFLLEVQdGdDekIsa0JBQU87WU91Z0NhLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsU0FBUyxFQUFFLFVBQVUsR0FDeEI7O0FBTXJCLG9GQUFvRjtBQUNwRixBQUFBLGlCQUFpQixDQUFDO0VBQ2QsS0FBSyxFQUFFLEdBQUcsR0FDYjs7QUFDRCxBQUFBLGFBQWEsQ0FBQztFQUNWLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxLQUFLLEVBQUUsR0FBRyxHQUNiOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFDRDs7RUFFRjtBQUNFLEFBQUEsdUJBQXVCLENBQUM7RUFDcEIsS0FBSyxFQUFFLElBQUk7RUFDWCxXQUFXLEVBQUUsTUFBTSxHQXFCdEI7RUF2QkQsQUFJSSx1QkFKbUIsQ0FJbkIsVUFBVSxDQUFDO0lBQ1AsT0FBTyxFQUFFLEdBQUc7SUFDWixNQUFNLEVBQUUsS0FBSyxHQUNoQjtFQVBMLEFBU0ksdUJBVG1CLENBU25CLGFBQWEsQUFBQSxRQUFRLENBQUM7SUFDbEIsTUFBTSxFQUFFLElBQUksR0FDZjtFQVhMLEFBYUksdUJBYm1CLENBYW5CLFdBQVcsQUFBQSxRQUFRLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLElBQUk7SUFDakIsWUFBWSxFQUFFLElBQUk7SUFHZCxVQUFVLEVQcGpDWixPQUFPLEdPdWpDWjs7QUFFTCxjQUFjO0FBQ2QsQUFDSSxZQURRLENBQ1IsYUFBYSxDQUFDO0VBQ1YsVUFBVSxFQUFFLGVBQWU7RUFDM0IsNEJBQTRCLEVBQy9COztBQUpMLEFBTUksWUFOUSxDQU1SLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVMLGdEQUFnRDtBQUNoRCxtQkFBbUI7QUFDbkIsZ0RBQWdEO0FBRWhELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLEtBQUs7RUFFL0IsQUFBQSxVQUFVLENBQUM7SUFDUCxTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFFRCxBQUFBLFVBQVUsQ0FBQztJQUNQLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLEtBQUssR0FDZjtFQUVELEFBQUEsZUFBZSxDQUFDO0lBQ1osSUFBSSxFQUFFLElBQUk7SUFDVixZQUFZLEVBQUUsR0FBRyxHQUNwQjtFQUVELEFBQUEsWUFBWSxDQUFDO0lBQ1QsU0FBUyxFQUFFLElBQUk7SUFDZixJQUFJLEVBQUUsSUFBSTtJQUNWLFlBQVksRUFBRSxHQUFHLEdBQ3BCOztBQUVMLDJCQUEyQjtBQUMzQixBQUNJLFFBREksQ0FDSix3QkFBd0I7QUFENUIsQUFFSSxRQUZJLENBRUosc0JBQXNCO0FBRjFCLEFBR0ksUUFISSxDQUdKLG9CQUFvQjtBQUh4QixBQUlJLFFBSkksQ0FJSixnQkFBZ0IsQ0FBQztFQUNiLFlBQVksRUFBRSxZQUFZLEdBQzdCOztBQUVMLHNEQUFzRDtBQUN0RCxBQUFBLFFBQVEsQ0FBQztFQUlMOzs7Ozs7Ozs7V0FTRztFQUVILHVFQUF1RSxFQWlDMUU7RUFoREQsQUFnQkksUUFoQkksQ0FnQkosb0JBQW9CLENBQUM7SUFDakIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsU0FBUyxFQUFFLElBQUk7SUFDZixZQUFZLEVBQUUsWUFBWTtJQUMxQixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQXJCTCxBQXVCMkIsUUF2Qm5CLENBdUJKLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUN6QixXQUFXLEVBQUUsQ0FBQztJQUNkLElBQUksRUFBRSxRQUFRLEdBQ2pCO0VBMUJMLEFBNEJJLFFBNUJJLENBNEJKLFVBQVUsQ0FBQztJQUNQLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLEtBQUssR0FDZjtFQS9CTCxBQWlDSSxRQWpDSSxDQWlDSixVQUFVLENBQUM7SUFDUCxTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFwQ0wsQUE0Q0ksUUE1Q0ksQ0E0Q0oseUJBQXlCLENBQUM7SUFDdEIsS0FBSyxFQUFFLElBQUk7SUFDWCxTQUFTLEVBQUUsS0FBSyxHQUNuQjs7QUFHTDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkQ7QUNsdUNIOztFQUVFO0FBR0YsaUNBQWlDO0FBRWpDLEFBQUEsUUFBUSxDQUFBO0VBQ0osUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFDLE1BQU07RUFDbEIsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsQ0FBQyxDQUFBLFVBQVU7RUFDcEIsS0FBSyxFQUFDLElBQUksR0FHYjs7QUFLRCxBQUFBLE1BQU0sQ0FBQTtFQUFFLFFBQVEsRUFBQyxRQUFRLEdBQUk7O0FBQzdCO0dBQ0c7QUFDSCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxVQUFVO0VBQ25CLGNBQWMsRUFBRSxPQUFPO0VBRXZCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxxQkFBcUI7RUFDN0IsT0FBTyxFQUFFLElBQUksR0FVaEI7RUFsQkQsQUFVSSxZQVZRLEFBVVIsWUFBYSxDQUFDO0lBQ1YsS0FBSyxFQUFFLEdBQUc7SUFDVixZQUFZLEVBQUUsbUJBQW1CLEdBQ3BDO0VBYkwsQUFlSSxZQWZRLEFBZVIsYUFBYyxDQUFDO0lBQ1gsS0FBSyxFQUFFLGdCQUFnQixHQUMxQjs7QUFFTCxBQUFBLGVBQWUsQ0FBQTtFQUNYLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLElBQUksRUFBQyxHQUFHO0VBQ1IsS0FBSyxFQUFFLEtBQUs7RUFDWixHQUFHLEVBQUUsR0FBRztFQUNSLE1BQU0sRUFBRSxHQUFHO0VBRVgsT0FBTyxFQUFFLFVBQVU7RUFDbkIsY0FBYyxFQUFDLE9BQU87RUFFdEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsTUFBTSxFQUFDLENBQUMsR0FDWDs7QUFDRCxBQUFBLGNBQWMsQ0FBQTtFQUNOLFVBQVUsRUFBRSxLQUFLLEdBQ3hCOztBQUNELEFBQUEsS0FBSyxBQUFBLFlBQVksQ0FBQztFQUNkLE9BQU8sRUFBRSxZQUFZLEdBQ3hCOztBQUNELEFBQUEsY0FBYyxDQUFBO0VBQ1YsT0FBTyxFQUFFLFVBQVUsR0FDdEI7O0FBQ0QsQUFBQSxlQUFlLENBQUM7RUFDWixPQUFPLEVBQUUsVUFBVTtFQUNuQixLQUFLLEVBQUUsS0FBSztFQUNaLFlBQVksRUFBRSxLQUFLO0VBQ25CLFdBQVcsRUFBRSxtQkFBbUI7RUFDaEMsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixLQUFLLEVSbEJELGtCQUFPO0VRbUJYLFlBQVksRUFBRSxHQUFHLEdBUXBCO0VBZkQsQUFTSSxlQVRXLEFBU1gsTUFBTyxDQUFDO0lBQ0osZ0JBQWdCLEVBQUUsbUJBQW1CO0lBQ3JDLEtBQUssRVJ2QkwsT0FBTztJUXdCUCxVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQzlDOztBQUlMLEFBQUEsY0FBYyxDQUFBO0VBQ1YsT0FBTyxFQUFFLFVBQVU7RUFDbkIsU0FBUyxFQUFFLEdBQUc7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBQUNELEFBQUEsY0FBYyxBQUFBLE9BQU8sQ0FBQTtFQUNqQixPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFLRCxlQUFlO0FBQ2YsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBQ0QsQUFBQSxvQkFBb0IsQ0FBQTtFQUNoQixxQkFBcUI7RUFDckIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxnQ0FBZ0M7QUFDaEMsQUFBQSxjQUFjLENBQUM7RUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1J4RGIsT0FBTztFUXlEWCxnQkFBZ0IsRVJ6RFosT0FBTztFUTBEWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLElBQUksR0FDakI7O0FBQ0QsQUFBQSxTQUFTLENBQUM7RUFDTixRQUFRLEVBQUUsSUFBSTtFQUNkLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUdELDRCQUE0QjtBQUM1QixBQUFBLGNBQWMsQ0FBQztFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxHQUFHO0VBQ1gsZ0JBQWdCLEVSeEVaLE9BQU87RVF5RVgsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztFQUNoQixVQUFVLEVBQUUsSUFBSTtFQUNoQixVQUFVLEVBQUUsSUFBSTtFQUNoQixRQUFRLEVBQUUsSUFBSTtFQUNkLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QixHQUM5Qzs7QUFHRCxBQUFBLFlBQVksQ0FBQztFQUNULGFBQWEsRUFBRSxDQUFDO0VBQ2hCLFVBQVUsRVJ2Rk4sa0JBQU8sQ1F1RmtCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUN6QyxNQUFNLEVBQUUsY0FBYztFQUFHLDhCQUE4QjtFQUN2RCxPQUFPLEVBQUUsRUFBRTtFQUNYLGdCQUFnQixFUnZGWixPQUFPLEdRd0ZkOztBQUNELEFBQUEsU0FBUyxDQUFBO0VBQ0wsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUMsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQTtFQUNULE9BQU8sRUFBRSxVQUFVO0VBQ25CLFFBQVEsRUFBRSxNQUFNLEdBRW5COztBQUNELEFBQUEsWUFBWSxDQUFBO0VBQ1IsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixPQUFPLEVBQUUsVUFBVTtFQUNuQixVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QUFHRCxBQUFBLGNBQWMsQ0FBQTtFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEtBQUs7RUFDWCxLQUFLLEVBQUUsQ0FBQztFQUNYLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLHNCQUFzQjtFQUNsQyxhQUFhLEVBQUUsc0JBQXNCO0VBQ3JDLFlBQVksRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixHQUNoRDs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSM0hqQixPQUFPO0VRNEhYLEtBQUssRVI1SEQsT0FBTztFUTZIWCxXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsS0FBSztFQUNoQixRQUFRLEVBQUUsSUFBSTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxLQUFLO0VBQ1YsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVSbElaLE9BQU8sR1FtSWQ7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsR0FBRztFQUNmLEtBQUssRVJ6SUQsT0FBTztFUTBJWCxXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsS0FBSztFQUNoQixRQUFRLEVBQUUsSUFBSTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VBQ1osZ0JBQWdCLEVSL0laLE9BQU8sR1FnSmQ7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixVQUFVLEVBQUUsR0FBRztFQUNmLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFdBQVcsRUFBQyxNQUFNLEdBQ3JCOztBQUNELEFBQVUsU0FBRCxDQUFDLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDZCxnQkFBZ0IsRUFBQyxPQUFPLEdBQzNCOztBQUNELGlCQUFpQjtBQUNqQixBQUFBLFdBQVcsQ0FBQztFQUNSLFNBQVMsRUFBQyxJQUFJO0VBQ2QsV0FBVyxFQUFDLEtBQUs7RUFDakIsWUFBWSxFQUFDLEtBQUssR0FDckI7O0FBR0QsVUFBVTtBQUVWLDBCQUEwQjtBQUMxQixBQUFBLE1BQU0sQUFBQSxTQUFTLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLE1BQU0sQUFBQSxTQUFTLEFBQUEsU0FBUyxDQUFDO0VBQ3JCLE9BQU8sRUFBRSxZQUFZLEdBQ3hCOztBQUVMLG1CQUFtQjtBQUNuQixBQUFBLFNBQVMsQ0FBQztFQUNOLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxLQUFLO0VBQ1osUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSMU12QixPQUFPO0VRMk1SLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLE1BQU0sRUFBRSxPQUFPLEdBdURsQjtFQWxFRCxBQWFJLFNBYkssQUFhTCxRQUFTLENBQUM7SUFDTixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFqQkwsQUFvQkksU0FwQkssQUFvQkwsTUFBTyxDQUFDO0lBQ0osZ0JBQWdCLEVSNU9mLHFCQUF3QixHUTZPNUI7RUF0QkwsQUF3QkksU0F4QkssQUF3QkwsTUFBTyxDQUFDO0lBQ0osZ0JBQWdCLEVBQUUscUJBQW9CLEdBQ3pDO0VBMUJMLEFBNkJJLFNBN0JLLEFBNkJMLE9BQVEsQ0FBQztJQUNMOzJCQUNtQjtJQUNuQixXQUFXLEVBQUUsV0FBVztJQUN4QixPQUFPLEVBQUUsT0FBTztJQUNoQixZQUFZLEVBQUUsR0FBRztJQUNqQixhQUFhLEVBQUUsS0FBSztJQUNwQixTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRVJsUEosT0FBMEQsR1FtUDlEO0VBdENMLEFBd0NJLFNBeENLLEFBd0NMLGVBQWdCLENBQUM7SUFDYixLQUFLLEVSMU5MLG1CQUFPLEdRZ09WO0lBL0NMLEFBMkNRLFNBM0NDLEFBd0NMLGVBQWdCLEFBR1osT0FBUSxDQUFDO01BQ0wsS0FBSyxFUjdOVCxtQkFBTztNUThOSCxPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQTlDVCxBQWlESSxTQWpESyxBQWlETCxTQUFVLENBQUM7SUFDUCxVQUFVLEVSelFULE9BQXdCO0lRMFF6QixLQUFLLEVSak9MLE9BQU8sR1FrT1Y7RUFwREwsQUEyREksU0EzREssQUEyREwsU0FBVSxBQUFBLE9BQU8sQ0FBQztJQUNkLEtBQUssRVIxT0wsT0FBTyxHUTJPVjtFQTdETCxBQStESSxTQS9ESyxBQStETCxVQUFXLENBQUM7SUFDUixNQUFNLEVBQUUsU0FBUyxHQUNwQjs7QUFJSCxXQUFXO0FBQ2IsQUFBQSxjQUFjLEFBQUEsVUFBVSxFQUFFLEFBQUEsbUJBQW1CLEFBQUEsVUFBVSxFQUFFLEFBQUEsb0JBQW9CLEFBQUEsVUFBVSxDQUFDO0VBQ3BGLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDUjNRakIsT0FBTyxHUTRRWDs7QUFHQyxrQkFBa0I7QUFDbEI7Ozs7Ozs7OztLQVNHO0FBQ0wseUJBQXlCO0FBQ3pCLEFBQUEsU0FBUyxBQUFBLEtBQUssQ0FDZDtFQUNJLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLEdBQUcsR0FDYjs7QUFHRCxzQkFBc0I7QUFDdEIsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLEtBQUssRVJqUkQsT0FBTztFUWtSWCxXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsS0FBSztFQUNoQixRQUFRLEVBQUUsSUFBSTtFQUNkLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEtBQUs7RUFDakIsZ0JBQWdCLEVScFJaLE9BQU8sR1FxUmQ7O0FBRUQsK0NBQStDO0FBQzdDLEFBQUEsd0JBQXdCLENBQUU7RUFDeEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQyxPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUFFRyxBQUF5Qix3QkFBRCxDQUFDLEtBQUssRUFBRSxBQUF5Qix3QkFBRCxDQUFDLENBQUMsQ0FBQztFQUN2RCxZQUFZLEVBQUUsR0FBRyxHQUNwQjs7QUFFTCxBQUFBLDRCQUE0QixDQUFDO0VBQ3pCLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBQUVEOztFQUVFO0FBQ0YsQUFBQSxVQUFVLENBQUM7RUFFUCxPQUFPLEVBQUUsS0FBSyxHQUVqQjtFQUpELEFBR0ksVUFITSxDQUdOLENBQUMsQ0FBQztJQUFDLE9BQU8sRUFBRSxLQUFLO0lBQUcsT0FBTyxFQUFFLEtBQUs7SUFBRyxXQUFXLEVBQUUsTUFBTSxHQUFJOztBQUdoRSxvQkFBb0I7QUFFcEIsV0FBVztBQUNYLEFBQUEsU0FBUyxDQUFDO0VBQ04sUUFBUSxFQUFFLGtCQUFrQixHQUMvQjs7QUFDRCxBQUFBLFNBQVMsQUFBQSxNQUFNLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUN0Qjt1QkFDdUI7RUFDbkIsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLE9BQU87RUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQUM5Qzs7QUFHRCxtQkFBbUI7QUFDbkIsMERBQTBEO0FBQzFELEFBQUEsV0FBVyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsUUFBUSxHQVF4QjtFQVZELEFBSUksV0FKTyxDQUlQLFVBQVUsQ0FBQztJQUNQLFNBQVMsRUFBRSxDQUFDLEdBQ2Y7RUFOTCxBQVFJLFdBUk8sQ0FRUCxZQUFZLENBQUM7SUFBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHOztBQU1wQyxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLFlBQVksRUFBRSxHQUFHO0VBQ2pCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFdBQVcsRUFBRSxLQUFLO0VMcFlsQixxQkFBcUIsRUFBRSxJQUFJO0VBQzNCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHS3VjcEI7RUExRUQsQUFNSSx1QkFObUIsQ0FNbkIsb0JBQW9CLENBQUM7SUFDakIsS0FBSyxFQUFFLEtBQWdCO0lBQ3ZCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLDBCQUEwQjtJQUMxQixRQUFRLEVBQUUsUUFBUSxHQU9yQjtJQWpCTCxBQVlRLHVCQVplLENBTW5CLG9CQUFvQixDQU1oQixlQUFlLENBQUM7TUFDWixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLElBQUksRUFBRSxDQUFDLEdBQ1Y7RUFoQlQsQUFtQkksdUJBbkJtQixDQW1CbkIsaUJBQWlCLENBQUM7SUFDZCxTQUFTLEVBQUUsdUNBQXVDLEdBQ3JEO0VBckJMLEFBdUJJLHVCQXZCbUIsQ0F1Qm5CLGtCQUFrQixDQUFDO0lBQ2YsU0FBUyxFQUFFLHdDQUF3QyxHQUN0RDtFQXpCTCxBQTJCSSx1QkEzQm1CLENBMkJuQixrQkFBa0IsQ0FBQztJQUNmLFNBQVMsRUFBRSx3Q0FBd0MsR0FDdEQ7RUE3QkwsQUErQkksdUJBL0JtQixDQStCbkIsbUJBQW1CLENBQUM7SUFDaEIsU0FBUyxFQUFFLHlDQUF5QyxHQUN2RDs7QUFFRCxVQUFVLENBQVYsZ0JBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxTQUFTLEVBQUUsb0JBQW1CO0VBR2xDLEFBQUEsRUFBRTtJQUNFLFNBQVMsRUFBRSxlQUFjOztBQUlqQyxVQUFVLENBQVYsaUJBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxTQUFTLEVBQUUsZ0JBQWU7RUFHOUIsQUFBQSxFQUFFO0lBQ0UsU0FBUyxFQUFFLG1CQUFrQjs7QUFJckMsVUFBVSxDQUFWLGlCQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsU0FBUyxFQUFFLG1CQUFrQjtFQUdqQyxBQUFBLEVBQUU7SUFDRSxTQUFTLEVBQUUsZUFBYzs7QUFJakMsVUFBVSxDQUFWLGtCQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsU0FBUyxFQUFFLGdCQUFlO0VBRzlCLEFBQUEsRUFBRTtJQUNFLFNBQVMsRUFBRSxrQkFBaUI7O0FBS3hDLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsVUFBVSxFQUFFLEtBQUs7RUFDakIsUUFBUSxFQUFFLElBQUksR0FDakI7O0FBQ0QsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixNQUFNLEVBQUUsR0FBRztFQUNYLFlBQVksRUFBRSxLQUFLO0VBQ25CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFNBQVMsRUFBRSxJQUFJO0VBbUdmOzs7O09BSUcsRUFPTjtFQWxIRCxBQU9RLG9CQVBZLEFBTWhCLFFBQVMsQ0FDTCxFQUFFLENBQUM7SUFDQyxLQUFLLEVBQUUsSUFBa0IsR0FDNUI7RUFUVCxBQVdRLG9CQVhZLEFBTWhCLFFBQVMsQ0FLTCxFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUUsSUFBZ0IsR0FDM0I7RUFiVCxBQWlCUSxvQkFqQlksQUFnQmhCLFFBQVMsQ0FDTCxFQUFFLENBQUM7SUFDQyxLQUFLLEVBcEdELElBQUksR0EyR1g7SUF6QlQsQUFpQlEsb0JBakJZLEFBZ0JoQixRQUFTLENBQ0wsRUFBRSxBQUdFLFlBQWEsQ0FBQztNQUNWLGdCQUFnQixFQUFFLFFBQVE7TUFDMUIsTUFBTSxFQUFFLGtCQUFrQjtNQUMxQixLQUFLLEVBQUUsd0JBQXdCLEdBQ2xDO0VBeEJiLEFBMkJRLG9CQTNCWSxBQWdCaEIsUUFBUyxDQVdMLEVBQUUsQ0FBQztJQUNDLE1BQU0sRUE3R0YsSUFBSSxHQThHWDtFQTdCVCxBQWlDUSxvQkFqQ1ksQUFnQ2hCLFFBQVMsQ0FDTCxFQUFFLENBQUM7SUFDQyxLQUFLLEVBQUUsS0FBa0IsR0FDNUI7RUFuQ1QsQUFxQ1Esb0JBckNZLEFBZ0NoQixRQUFTLENBS0wsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQXZIRixJQUFJLEdBd0hYO0VBdkNULEFBMkNJLG9CQTNDZ0IsQ0EyQ2hCLEVBQUUsQ0FBQztJQUNDLE1BQU0sRUFBRSxxQkFBcUI7SUFDN0IsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLE1BQU07SUFDaEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsVUFBVSxFQUFFLE1BQU07SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFNMUI7Ozs7O1dBS1csRUFvQ047SUFoR0wsQUEyQ0ksb0JBM0NnQixDQTJDaEIsRUFBRSxBQVFFLFdBQVksQ0FBQztNQUNULEtBQUssRVJ0ZFQsbUJBQU8sR1F1ZE47SUFyRFQsQUEyQ0ksb0JBM0NnQixDQTJDaEIsRUFBRSxBQW1CRSxNQUFPLEFBQUEsTUFBTSxDQUFDO01BQ1YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLEdBQUc7TUFDUixVQUFVLEVBQUUsSUFBSTtNQUFHLGlCQUFpQjtNQUNwQyxJQUFJLEVBQUUsR0FBRztNQUNULEtBQUssRUFBRSxHQUFHO01BQ1YsTUFBTSxFQUFFLEdBQUc7TUFDWCxPQUFPLEVBQUUsRUFBRTtNQUNYLFNBQVMsRUFBRSxHQUFHO01BQ2QsYUFBYSxFQUFFLEdBQUc7TUFDbEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSdGdCM0IsT0FBMEQsR1F1Z0IxRDtJQXpFVCxBQTJDSSxvQkEzQ2dCLENBMkNoQixFQUFFLEFBZ0NFLFlBQWEsQ0FBQztNQUNWLFVBQVUsRVJyZ0JkLE9BQXlELEdRc2dCeEQ7SUE3RVQsQUEyQ0ksb0JBM0NnQixDQTJDaEIsRUFBRSxBQW9DRSxTQUFVLENBQUM7TUFDUCxnQkFBZ0IsRVJyZ0J2QixPQUFPO01Rc2dCQSxLQUFLLEVSaGZULE9BQU8sR1FpZk47SUFsRlQsQUEyQ0ksb0JBM0NnQixDQTJDaEIsRUFBRSxBQXlDRSxRQUFTLENBQUM7TUFDTixNQUFNLEVBQUUsT0FBTyxHQU1sQjtNQTNGVCxBQTJDSSxvQkEzQ2dCLENBMkNoQixFQUFFLEFBeUNFLFFBQVMsQUFHTCxNQUFPLENBQUM7UUFDSixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENSMWZoQyxrQkFBTztRUTJmQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1J2aEJ6Qix1QkFBMEQsR1F3aEJ0RDtJQTFGYixBQTJDSSxvQkEzQ2dCLENBMkNoQixFQUFFLEFBa0RFLFdBQVksQ0FBQztNQUNULFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBL0ZULEFBa0dhLG9CQWxHTyxDQWtHaEIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDUixnQkFBZ0IsRVJqaUJmLE9BQTBEO0lRa2lCM0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENSbGlCaEIsT0FBMEQ7SVFtaUIzRCxLQUFLLEVSOWhCTCxPQUF5RCxHUStoQjVEO0VBdEdMLEFBOEdRLG9CQTlHWSxDQTRHaEIsS0FBSyxDQUVELEVBQUUsQ0FBQztJQUNDLDZCQUE2QixFQUNoQzs7QUFJVCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLE1BQU07RUFDdkIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsUUFBUSxFQUFFLElBQUksR0FtRGpCO0VBeERELEFBT2Esb0JBUE8sQ0FPaEIsTUFBTSxDQUFHLFVBQVUsRUFQdkIsQUFPeUIsb0JBUEwsQ0FPaEIsTUFBTSxDQUFlLEdBQUcsQ0FBQztJQUNyQixLQUFLLEVBQU8sbUJBQUssR0FDcEI7RUFUTCxBQVdJLG9CQVhnQixDQVdoQixjQUFjLENBQUM7SUFDWCxhQUFhLEVBQUUsR0FBRyxHQWtCckI7SUE5QkwsQUFjUSxvQkFkWSxDQVdoQixjQUFjLENBR1Ysd0JBQXdCLENBQUM7TUFDckIsU0FBUyxFQUFFLEtBQUs7TUFDaEIsVUFBVSxFQUFFLEtBQUs7TUFDakIsVUFBVSxFQUFFLElBQUk7TUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FXckI7TUE3QlQsQUFvQlksb0JBcEJRLENBV2hCLGNBQWMsQ0FHVix3QkFBd0IsQ0FNcEIsQ0FBQyxDQUFDO1FBQ0U7d0JBQ1E7UUFDUixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBZSxHQUMzQztNQXhCYixBQTBCWSxvQkExQlEsQ0FXaEIsY0FBYyxDQUdWLHdCQUF3QixDQVlwQixFQUFFLENBQUM7UUFDQyxTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQTVCYixBQWdDSSxvQkFoQ2dCLENBZ0NoQixjQUFjLENBQUM7SUFDWCxVQUFVLEVBQUUsTUFBTSxHQVFyQjtJQXpDTCxBQXNDUSxvQkF0Q1ksQ0FnQ2hCLGNBQWMsQ0FNVix1QkFBdUIsQ0FBQztNQUNwQixPQUFPLEVBQUUsQ0FBQyxHQUNiO0VBeENULEFBMkNJLG9CQTNDZ0IsQ0EyQ2hCLGVBQWUsQ0FBQztJQUNaLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLGNBQWMsRUFBRSxHQUFHLEdBS3RCO0lBbERMLEFBK0M2QixvQkEvQ1QsQ0EyQ2hCLGVBQWUsQ0FJWCxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7TUFDdkIsZ0JBQWdCLEVScG1CbkIsT0FBMEQsR1FxbUIxRDtFQWpEVCxBQW9ESSxvQkFwRGdCLENBb0RoQixlQUFlLENBQUM7SUFDWixjQUFjLEVBQUUsR0FBRztJQUNuQixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFHTDs7RUFFRTtBQUVGLEFBQUEsVUFBVSxDQUFDO0VMdG5CUCxxQkFBcUIsRUFBRSxLQUFLO0VBQzVCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHS29uQnBCOztBQUNEOztFQUVFO0FBSUYsQUFBQSxnQkFBZ0IsQ0FBQztFTDVvQmIscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RUswb0JqQixRQUFRLEVBQUUsUUFBUTtFQUNsQjs7T0FFRyxFQXdITjtFQTdIRCxBQU1JLGdCQU5ZLENBTVosS0FBSyxDQUFDO0lBQ0YsTUFBTSxFQUFFLEdBQUc7SUFDWCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEVBQUUsQ0FBQztJQUNSLFVBQVUsRUFBRSxHQUFHO0lBQ2YsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVSeG1CVixPQUFPLEdReXFCVjtJQS9FTCxBQWlCYyxnQkFqQkUsQ0FNWixLQUFLLEFBVUQsTUFBTyxHQUNELFdBQVcsQUFFVixNQUFRLEVBbkJ2QixBQWlCYyxnQkFqQkUsQ0FNWixLQUFLLEFBVVEsT0FBUSxHQUNYLFdBQVcsQUFFVixNQUFRLENBQUM7TUFDSixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1I3b0I1QixPQUEwRDtNUThvQi9DLFVBQVUsRVIvbUJ0Qix3QkFBTyxHUWduQkU7SUF0QmpCLEFBMkJZLGdCQTNCSSxDQU1aLEtBQUssR0FvQkMsV0FBVyxDQUNULGVBQWUsQ0FBQztNQUNaLE9BQU8sRUFBRSxZQUFZLEdBQ3hCO0lBN0JiLEFBK0JZLGdCQS9CSSxDQU1aLEtBQUssR0FvQkMsV0FBVyxDQUtULGFBQWEsQ0FBQztNQUNWLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBakNiLEFBcUNZLGdCQXJDSSxDQU1aLEtBQUssQUE4QkQsUUFBUyxHQUFHLFdBQVcsQ0FDbkIsZUFBZSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQ2IsR0FBRTtJQXZDZCxBQXlDWSxnQkF6Q0ksQ0FNWixLQUFLLEFBOEJELFFBQVMsR0FBRyxXQUFXLENBS25CLGFBQWEsQ0FBQztNQUNWLE9BQU8sRUFBRSxZQUFZLEdBQ3hCO0lBM0NiLEFBZ0RjLGdCQWhERSxDQU1aLEtBQUssQUF3Q0QsWUFBYSxHQUVQLFdBQVcsQUFDVCxNQUFPLENBQUM7TUFDSixPQUFPLEVBQUUsR0FBRyxHQUNmO0lBbkRqQixBQWdEYyxnQkFoREUsQ0FNWixLQUFLLEFBd0NELFlBQWEsR0FFUCxXQUFXLEFBS1QsT0FBUSxDQUFDO01BQ0wsZ0JBQWdCLEVBeERULElBQUk7TUF5RFgsS0FBSyxFUnBwQmpCLGtCQUFPLEdRcXBCRTtJQXhEakIsQUEyRHdCLGdCQTNEUixDQU1aLEtBQUssQUF3Q0QsWUFBYSxBQWFULFFBQVMsR0FBRyxXQUFXLEFBQ25CLE9BQVEsQ0FBQztNQUNMLGdCQUFnQixFQS9EVCxJQUFJLEdBZ0VkO0lBOURqQixBQWtFb0IsZ0JBbEVKLENBTVosS0FBSyxBQTRERCxRQUFTLEdBQUcsV0FBVyxBQUNuQixPQUFRLENBQUM7TUFDTCxnQkFBZ0IsRVJ2cUJ2QixzQkFBb0I7TVF3cUJiLE9BQU8sRUFBRSxPQUFPO01BQ2hCLCtCQUErQjtNQUMvQixZQUFZLEVBQUUsR0FBRztNQUNqQixVQUFVLEVBQUUsSUFBSSxHQUNuQjtJQXpFYixBQWtFb0IsZ0JBbEVKLENBTVosS0FBSyxBQTRERCxRQUFTLEdBQUcsV0FBVyxBQVNuQixNQUFPLENBQUM7TUFDSixJQUFJLEVBQUUsSUFBSSxHQUNiO0VBN0ViLEFBaUZJLGdCQWpGWSxDQWlGWixXQUFXLENBQUM7SUFDUiw0Q0FBNEM7SUFDNUMsU0FBUyxFQUFFLE9BQU87SUFDbEIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixZQUFZLEVBQUUsSUFBSTtJQUNsQixLQUFLLEVScnJCTCxrQkFBTztJUXNyQlAsV0FBVyxFQUFFLE1BQU0sR0FtQ3RCO0lBNUhMLEFBaUZJLGdCQWpGWSxDQWlGWixXQUFXLEFBVVAsT0FBUSxFQTNGaEIsQUFpRkksZ0JBakZZLENBaUZaLFdBQVcsQUFVRyxNQUFPLENBQUM7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsZ0NBQWdDLEdBQy9DO0lBL0ZULEFBaUZJLGdCQWpGWSxDQWlGWixXQUFXLEFBZ0JQLE9BQVEsQ0FBQztNQUNMLEtBQUssRVI1ckJULE9BQU87TVE2ckJILFVBQVUsRUFBRSxVQUFVO01BQ3RCLHdDQUF3QztNQUN4QyxxQkFBcUI7TUFDckIsV0FBVyxFQUFFLFdBQVc7TUFDeEIsT0FBTyxFQUFFLE9BQU87TUFDaEIsWUFBWSxFQUFFLElBQUk7TUFDbEIsU0FBUyxFQUFFLElBQUk7TUFDZixXQUFXLEVBQUUsSUFBSTtNQUNqQixnQkFBZ0IsRVJ4c0JwQixrQkFBTztNUXlzQkgsSUFBSSxFQUFFLEdBQUc7TUFDVCxHQUFHLEVBQUUsR0FBRztNQUNSLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLElBQUk7TUFDWCxhQUFhLEVBQUUsSUFBSSxHQUN0QjtJQWpIVCxBQWlGSSxnQkFqRlksQ0FpRlosV0FBVyxBQWtDUCxNQUFPLENBQUM7TUFDSixPQUFPLEVBQUUsRUFBRTtNQUNYLGNBQWMsRUFBRSxJQUFJO01BQ3BCLFVBQVUsRVJodEJkLE9BQU87TVFpdEJILElBQUksRUFBRSxHQUFHO01BQ1QsR0FBRyxFQUFFLEdBQUc7TUFDUixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FDNXdCVCxxQkFBcUI7QUFDckIsQUFBQSxDQUFDLENBQUM7RUFDRSxpQkFBaUIsRUFBRSxJQUFJO0VBQ3ZCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUNBLGlDQUFpQztBQUNsQyxBQUFBLENBQUMsQUFBQSxNQUFNLEVBQUUsQUFBQSxDQUFDLEFBQUEsT0FBTyxFQUFFLEFBQUEsQ0FBQyxBQUFBLE1BQU0sRUFBRSxBQUFBLENBQUMsQUFBQSxLQUFLLEVBQUUsQUFBQSxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQzVDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsYUFBYSxFQUFDLElBQUksR0FDbkI7O0FBQ0QsQUFBQSxHQUFHLEFBQUEsTUFBTSxFQUFFLEFBQUEsR0FBRyxBQUFBLE9BQU8sRUFBRSxBQUFBLEdBQUcsQUFBQSxNQUFNLEVBQUUsQUFBQSxHQUFHLEFBQUEsS0FBSyxFQUFFLEFBQUEsR0FBRyxBQUFBLFFBQVEsQ0FBQztFQUN0RCxPQUFPLEVBQUUsQ0FBQztFQUNWLGFBQWEsRUFBQyxJQUFJLEdBQ25COztBQUNELEFBQUEsTUFBTSxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsS0FBSyxDQUFDO0VBQ3BCLE9BQU8sRUFBRSxDQUFDLEdBQ1g7O0FBQ0QscUJBQXFCO0FBQ3JCLHlCQUF5QjtBQUN6QixBQUFBLFNBQVMsQ0FBQTtFQUNMLFFBQVEsRUFBQyxRQUFRO0VBRWpCLEtBQUssRUFBRSxXQUFnQjtFQUN2QixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBRUQsQUFBQSxRQUFRLENBQUE7RUFDSixNQUFNLEVBQUMsSUFBSTtFQUNYLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFDLENBQUMsR0FDWDs7QUFDRCxhQUFhO0FBRWIsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtFQUMxQyxhQUFhLEVBQUUsR0FBRztFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLFVBQVUsRVRpQk4sT0FBTztFU2hCWCwrREFBK0Q7RUFDL0QsU0FBUyxFQUFFLEtBQUssR0FHbkI7O0FBR0Q7OztHQUdHO0FBR0gsMkNBQTJDO0FBSTNDLEFBQUEsUUFBUSxDQUFDO0VBS0w7OztPQUdHLEVBQ047RUFURCxBQUNJLFFBREksQ0FDSixnQkFBZ0IsQ0FBQztJQUNiLE1BQU0sRUFKUyxJQUFJLEdBS3RCOztBQU9MLG1EQUFtRDtBQUNuRCxlQUFlO0FBQ2YsQUFDSSxRQURJLENBQ0osWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLGVBQWU7RUFDeEIsdUJBQXVCLEVBQzFCOztBQUpMLEFBTUksUUFOSSxDQU1KLGdCQUFnQixDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FFaEI7O0FBR0wsYUFBYTtBQUViLG9CQUFvQjtBQUVwQixBQUFBLGdCQUFnQixDQUFDO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUMsR0FBRztFQUNQLElBQUksRUFBQyxHQUFHO0VBQ1IsTUFBTSxFQUFDLEdBQUc7RUFDVixLQUFLLEVBQUMsR0FBRyxHQUVaOztBQUNELEFBQUEsc0JBQXNCLENBQUE7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLElBQUk7RUFDWixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixxQkFBcUIsRUFHeEI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsR0FBRztFQUNYLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsQ0FBQyxHQUVYOztBQUNELEFBQUEsZUFBZSxDQUFBO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxlQUFlO0VBSXZCLEdBQUcsRUFBQyxDQUFDO0VBQ0wsSUFBSSxFQUFDLENBQUM7RUFDTixNQUFNLEVBQUMsQ0FBQztFQUNSLEtBQUssRUFBQyxDQUFDLEdBRVY7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixRQUFRLEVBQUUsS0FBSztFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLENBQUM7RUFDUixTQUFTLEVBQUUsS0FBSztFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNLEdBRXpCOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQU0sd0JBQU87RUFDOUIsaUJBQWlCLEVBQUUsR0FBRztFQUN0QixNQUFNLEVBQUUsS0FBSztFQUNiLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLE9BQU87RUFDbkIsS0FBSyxFQUFFLE9BQU87RUFDZCxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWMsR0FDekM7O0FBQ0QsQUFBQSxlQUFlLEFBQUEsT0FBTyxDQUFDO0VBQ25CLFlBQVksRUFBRSxPQUFnQixHQUNqQzs7QUFDRCxBQUFBLGVBQWUsQUFBQSxTQUFTLENBQUM7RUFDckIsWUFBWSxFQUFFLE9BQWdCLEdBQ2pDOztBQUNELEFBQUEsZUFBZSxBQUFBLFVBQVUsQ0FBQztFQUN0QixTQUFTLEVBQUUsc0JBQXNCLEdBQ3BDOztBQUNELEFBQUEsZUFBZSxBQUFBLFFBQVEsQ0FBQztFQUNwQixTQUFTLEVBQUUseUJBQXlCLEdBQ3ZDOztBQUVELFVBQVUsQ0FBVixVQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsU0FBUyxFQUFFLGdCQUFpQjtFQUVoQyxBQUFBLEVBQUU7O0FBS04sVUFBVSxDQUFWLFdBQVU7RUFDTixBQUFBLElBQUk7RUFFSixBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNWLGlDQUFpQzs7QUFLekMsQUFBQSxhQUFhLENBQUM7RUFDVixRQUFRLEVBQUUsSUFBSSxHQUNqQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQTtFQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ25COztBQUdELEFBQUEsZ0JBQWdCLEVBQUUsQUFBQSxvQkFBb0IsQ0FBQztFQUNuQyxPQUFPLEVBQUUsSUFDYixHQUFFOztBQUdGLEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFFLEtBQUs7RUFDZixNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFDRCxBQUFBLFVBQVUsQUFBQSxTQUFTLENBQUM7RUFDaEIsT0FBTyxFQUFDLEtBQUssR0FDaEI7O0FBRUQsaUJBQWlCO0FBQ2pCLEFBQUEsVUFBVSxDQUFDO0VBQ1AsS0FBSyxFVHhKRCxPQUFPLEdTeUpkOztBQUNELEFBQUEsY0FBYyxFQUFFLEFBQUEsbUJBQW1CLENBQUM7RUFDaEMsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENUaktiLE9BQU87RVNrS1gsY0FBYyxFQUFFLE1BQU07RUFDdEIsTUFBTSxFQUFFLE9BQU87RU5sTmYscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR01pTnBCOztBQUlELEFBQUEsY0FBYyxDQUFDO0VBQ1gsZ0JBQWdCLEVUeEtaLE9BQU87RVN5S1gsS0FBSyxFVDVLRCxtQkFBTyxHUytNZDtFQXJDRCxBQUlJLGNBSlUsQUFJVixRQUFTLENBQUM7SUFDTixhQUFhLEVBQUUsS0FBSztJQUNwQjsyQkFDbUI7SUFDbkIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDbkI7RUFWTCxBQVlJLGNBWlUsQUFZVixNQUFPLENBQUM7SUFDSixZQUFZLEVUbk5YLE9BQTBELEdTb045RDtFQWRMLEFBZ0JJLGNBaEJVLEFBZ0JWLFNBQVUsQUFBQSxTQUFTLENBQUM7SUFDaEIsVUFBVSxFVHhMVixPQUFPO0lTeUxQLFlBQVksRUFBRSxPQUFPO0lBQ3JCLEtBQUssRUFBRSx3QkFBcUIsR0FDL0I7RUFwQkwsQUFzQkksY0F0QlUsQUFzQlYsU0FBVSxBQUFBLFNBQVMsQUFBQSxNQUFNLENBQUM7SUFDdEIsVUFBVSxFVDlMVixPQUFPO0lTK0xQLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUF6QkwsQUEyQkksY0EzQlUsQUEyQlYsU0FBVSxDQUFDO0lBQ1AsZ0JBQWdCLEVUbE9mLE9BQTBEO0lTbU8zRCxLQUFLLEVUcE1MLHlCQUFPLEdTMk1WO0lBcENMLEFBK0JRLGNBL0JNLEFBMkJWLFNBQVUsQUFJTixRQUFTLENBQUM7TUFFTixPQUFPLEVBQUUsT0FBTztNQUNoQixtQ0FBbUMsRUFDdEM7O0FBT1QsQUFBQSxtQkFBbUIsRUFBRSxBQUFBLG9CQUFvQixDQUFDO0VBQ3RDLGdCQUFnQixFVGxOWixPQUFPO0VTbU5YLEtBQUssRVR0TkQsbUJBQU87RVN1TlgsWUFBWSxFQUFFLEdBQUcsR0FtQ3BCO0VBdENELEFBS0ksbUJBTGUsQUFLaEIsUUFBVSxFQUxRLEFBS2pCLG9CQUxxQyxBQUt0QyxRQUFVLENBQUM7SUFDTixhQUFhLEVBQUUsS0FBSztJQUNwQixXQUFXLEVBQUUsV0FBVztJQUN4QixPQUFPLEVBQUUsT0FBTyxHQUNuQjtFQVRMLEFBV0ksbUJBWGUsQUFXaEIsTUFBUSxFQVhVLEFBV2pCLG9CQVhxQyxBQVd0QyxNQUFRLENBQUM7SUFDSixZQUFZLEVUdE9YLHNCQUFvQjtJU3VPckIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFjLEdBQ3pDO0VBZEwsQUFnQkksbUJBaEJlLEFBZ0JoQixTQUFXLEFBQUEsU0FBUyxFQWhCRixBQWdCakIsb0JBaEJxQyxBQWdCdEMsU0FBVyxBQUFBLFNBQVMsQ0FBQztJQUNoQixZQUFZLEVBQUUsT0FBTztJQUNyQixnQkFBZ0IsRVQ1T2Ysc0JBQW9CO0lTNk9yQixLQUFLLEVSMUNxQixLQUFLLEdRaURsQztJQTFCTCxBQXFCUSxtQkFyQlcsQUFnQmhCLFNBQVcsQUFBQSxTQUFTLEFBS2hCLE1BQVEsRUFyQk0sQUFxQmIsb0JBckJpQyxBQWdCdEMsU0FBVyxBQUFBLFNBQVMsQUFLaEIsTUFBUSxDQUFDO01BQ0osZ0JBQWdCLEVUaFBuQixzQkFBb0I7TVNpUGpCLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLElBQUksR0FDbkI7RUF6QlQsQUE2QkksbUJBN0JlLEFBNkJoQixTQUFXLEVBN0JPLEFBNkJqQixvQkE3QnFDLEFBNkJ0QyxTQUFXLENBQUM7SUFDUCxnQkFBZ0IsRVR4UGYsc0JBQW9CO0lTeVByQixLQUFLLEVSdERxQixLQUFLLEdRNERsQztJQXJDTCxBQWlDUSxtQkFqQ1csQUE2QmhCLFNBQVcsQUFJUCxRQUFVLEVBakNJLEFBaUNiLG9CQWpDaUMsQUE2QnRDLFNBQVcsQUFJUCxRQUFVLENBQUM7TUFFTixPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFJVCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENUblFiLE9BQU87RVNvUVgsY0FBYyxFQUFFLE1BQU07RUFDdEIsTUFBTSxFQUFFLE9BQU87RUFDZjtnQ0FDNEI7RUFFM0IsZ0JBQWdCLEVUdFFiLE9BQU87RVN1UVgsS0FBSyxFVDFRRCxtQkFBTztFUzJRWCxZQUFZLEVBQUUsR0FBRyxHQW1DcEI7RUFsREQsQUFpQkksb0JBakJnQixBQWlCaEIsUUFBUyxDQUFDO0lBQ04sYUFBYSxFQUFFLEtBQUs7SUFDcEIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDbkI7RUFyQkwsQUF1Qkksb0JBdkJnQixBQXVCaEIsTUFBTyxDQUFDO0lBQ0osWUFBWSxFVDFSWCxzQkFBb0I7SVMyUnJCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBYyxHQUN6QztFQTFCTCxBQTRCSSxvQkE1QmdCLEFBNEJoQixTQUFVLEFBQUEsU0FBUyxDQUFDO0lBQ2hCLFlBQVksRUFBRSxPQUFPO0lBQ3JCLGdCQUFnQixFVGhTZixzQkFBb0I7SVNpU3JCLEtBQUssRVI5RnFCLEtBQUssR1FxR2xDO0lBdENMLEFBaUNRLG9CQWpDWSxBQTRCaEIsU0FBVSxBQUFBLFNBQVMsQUFLZixNQUFPLENBQUM7TUFDSixnQkFBZ0IsRVRwU25CLHNCQUFvQjtNU3FTakIsTUFBTSxFQUFFLElBQUk7TUFDWixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQXJDVCxBQXlDSSxvQkF6Q2dCLEFBeUNoQixTQUFVLENBQUM7SUFDUCxnQkFBZ0IsRVQ1U2Ysc0JBQW9CO0lTNlNyQixLQUFLLEVSMUdxQixLQUFLLEdRZ0hsQztJQWpETCxBQTZDUSxvQkE3Q1ksQUF5Q2hCLFNBQVUsQUFJTixRQUFTLENBQUM7TUFFTixPQUFPLEVBQUUsT0FBTyxHQUNuQjs7QUFJVCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLEdBQUc7RUFDWCxjQUFjLEVBQUUsTUFBTSxHQVl6QjtFQWhCRCxBQU1JLFlBTlEsQ0FNUixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUscUJBQXFCO0lBQzdCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLEdBQUcsR0FDZjtFQVhMLEFBYUksWUFiUSxDQWFSLENBQUMsQUFBQSxNQUFNLENBQUM7SUFDSixZQUFZLEVUalZmLE9BQU8sR1NrVlA7O0FBRUQseUJBQXlCO0FBQ3pCLEFBQWMsYUFBRCxDQUFDLGNBQWMsQ0FBQztFQUV6QixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxDQUFDO0VBQ1YsWUFBWSxFQUFFLEtBQUs7RUFDbkIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsWUFBWSxFQUFFLENBQUMsR0FFbEI7O0FBQ0Qsc0JBQXNCO0FBQ3RCLEFBQUEsYUFBYSxDQUFDO0VBQ1Y7OztpQkFHUztFQUNULE9BQU8sRUFDVjs7QUFFRCxBQUFBLGFBQWEsQUFBQSxRQUFRLENBQUM7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osNEJBQTRCO0VBQzVCLFVBQVUsRUFBRSxHQUFHO0VBQ2YsUUFBUSxFQUFFLE1BQU07RUFDaEIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxJQUFJLEdBQ2pCOztBQUdMLEFBQUEsV0FBVyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENUcldiLE9BQU87RVNzV1gsUUFBUSxFQUFFLE1BQU0sR0FDbkI7O0FBRUcsQUFBQSxXQUFXLEFBQUEsUUFBUSxDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUc7RUFDbEIsTUFBTSxFQUFFLGVBQWU7RUFDdkIsVUFBVSxFQUFFLEdBQUc7RUFDZixTQUFTLEVBQUUsS0FBSyxHQUNuQjs7QUFDRDs4RUFDMEU7QUFDMUUsQUFBQSxXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxJQUFJO0VBQ2QsVUFBVSxFQUFFLEtBQUs7RUFDakIsTUFBTSxFQUFFLElBQUk7RUFDWixnQkFBZ0IsRUFBRSxLQUFLLEdBQzFCOztBQUNELG1DQUFtQztBQUNuQyxBQUFBLFNBQVMsQ0FBQztFQUNOLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsZUFBZTtFQUN2QixrQkFBa0IsRUFDckI7O0FBS0QsQUFBQSxRQUFRLENBQUM7RUFDTCxNQUFNLEVBQUUsYUFBYTtFQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUlELEFBQUEsYUFBYSxDQUFDO0VBQ1YsTUFBTSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxhQUFhLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLFlBQVksRUFBRSxLQUFLO0VBQ25CLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDVHZiaEIsc0JBQTBEO0VTd2IzRCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1RsYnBCLHdCQUEwRDtFU21iM0QsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFHLElBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VBQ3hDLFNBQVMsRUFBRSxtQ0FBbUMsR0FDakQ7O0FBRUQsVUFBVSxDQUFWLGNBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxTQUFTLEVBQUUsV0FBVSxDQUFDLFlBQVk7RUFHdEMsQUFBQSxHQUFHO0lBQ0MsU0FBUyxFQUFFLGVBQWMsQ0FBQyxjQUFjO0VBRzVDLEFBQUEsRUFBRTtJQUNFLFNBQVMsRUFBRSxXQUFVLENBQUMsY0FBYzs7QUFPNUMsQUFBQSxhQUFhLENBQUM7RUFDVixTQUFTLEVBQUUsZUFBZSxHQUM3Qjs7QUFFRCxVQUFVLENBQVYsWUFBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0VBR2QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7O0FBR2xCOztFQUVGO0FBQ0UsQUFBQSxPQUFPO0FBQ1AsQUFBQSxPQUFPLEFBQUEsTUFBTSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRyxHQUNkOztBQUdELEFBQUEsT0FBTyxDQUFDO0VBQ0osTUFBTSxFQUFFLFFBQVE7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixRQUFRLEVBQUUsUUFBUTtFQUNsQixXQUFXLEVBQUUsT0FBTztFQUNwQixVQUFVLEVBQUUsS0FBSyxDQUFDLEtBQUssQ1QxZXRCLHVCQUEwRDtFUzJlM0QsWUFBWSxFQUFFLEtBQUssQ0FBQyxLQUFLLENUM2V4Qix1QkFBMEQ7RVM0ZTNELGFBQWEsRUFBRSxLQUFLLENBQUMsS0FBSyxDVDVlekIsdUJBQTBEO0VTNmUzRCxXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssQ1Q3ZXZCLE9BQTBEO0VTOGUzRCxpQkFBaUIsRUFBRSxhQUFhO0VBQ2hDLGFBQWEsRUFBRSxhQUFhO0VBQzVCLFNBQVMsRUFBRSxhQUFhO0VBQ3hCLGlCQUFpQixFQUFFLDBCQUEwQjtFQUM3QyxTQUFTLEVBQUUsMEJBQTBCLEdBQ3hDOztBQUVELGtCQUFrQixDQUFsQixLQUFrQjtFQUNkLEFBQUEsRUFBRTtJQUNFLGlCQUFpQixFQUFFLFlBQVk7SUFDL0IsU0FBUyxFQUFFLFlBQVk7RUFHM0IsQUFBQSxJQUFJO0lBQ0EsaUJBQWlCLEVBQUUsY0FBYztJQUNqQyxTQUFTLEVBQUUsY0FBYzs7QUFJakMsVUFBVSxDQUFWLEtBQVU7RUFDTixBQUFBLEVBQUU7SUFDRSxpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLFNBQVMsRUFBRSxZQUFZO0VBRzNCLEFBQUEsSUFBSTtJQUNBLGlCQUFpQixFQUFFLGNBQWM7SUFDakMsU0FBUyxFQUFFLGNBQWM7O0FBTWpDLEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFFLEtBQUs7RUFDZixVQUFVLEVBQUUsS0FBSztFQUNqQixXQUFXLEVBQUUsS0FBSztFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsb0JBQXFCO0VBQ3ZDLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLGdCQUFnQixFQUFFLHlCQUF5QjtFQUMzQyxNQUFNLEVBQUUsZ0JBQWdCO0VBQ3hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxLQUFLO0VBQ2QsMENBQTBDO0VBQzFDOzs7O3dCQUlnQixFQUNuQjs7QUFFRCxBQUFXLFVBQUQsQ0FBQyxrQkFBa0IsQ0FBQztFQUMxQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLE1BQU0sRUFBRSxDQUFDO0VBQ1QsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQVcsVUFBRCxDQUFDLENBQUMsQ0FBQztFQUNULE1BQU0sRUFBRSxtQkFBbUI7RUFDM0IsTUFBTSxFQUFFLHdCQUF3QjtFQUNoQyxNQUFNLEVBQUUsMkJBQTJCLEdBQ3RDOztBQUNELGdCQUFnQjtBQUNoQixBQUFBLGFBQWEsQ0FBQztFQUNWLDBDQUEwQztFQUMxQyxxQkFBcUIsRUFBRSxJQUFJO0VBQzNCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFDRDs7R0FFRDtBQUNDLEFBQUEsV0FBVyxDQUFDO0VBQ1IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxHQUFHO0VBQ2YsZ0JBQWdCLEVBQUUsT0FBa0I7RUFDcEMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsT0FBTyxFQUFFLFlBQVk7RUFDckIsTUFBTSxFQUFFLElBQUk7RUFBRyw0Q0FBNEM7RUFDM0QsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsU0FBUztFQUNqQixNQUFNLEVBQUUsWUFBWTtFTjVsQnhCLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdNMmxCaEI7O0FBRUQsQUFBQSxXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQ2YsT0FBTyxFQUFFLEdBQUc7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsR0FBRztFQUNULEdBQUcsRUFBRSxLQUFLO0VBQ1YsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSw0R0FBNEcsR0FDNUg7O0FBQ0Q7Ozs7R0FJRDtBQUNDLGVBQWU7QUFDZixBQUFBLEdBQUcsQUFBQSxVQUFVLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsTUFBTTtFQUNkLEtBQUssRUFBRSxLQUFLO0VBQ1osZUFBZTtFQUNmLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLEdBQUcsQ0FBRSxJQUFHLENBQUMsR0FBRyxDVHhrQnpCLGtCQUFPLEdTeWtCVjs7QUFDRCxnQkFBZ0I7QUFDcEIsQUFBQSxZQUFZLENBQUM7RUFDVCwwQkFBMEI7RUFDMUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENUN2tCZCxrQkFBTztFUzhrQlgsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsS0FBSyxHQWNqQjtFQWxCRCxBQU1JLFlBTlEsQ0FNUixlQUFlLENBQUM7SUFDWixNQUFNLEVBQUUsZUFBZTtJQUN2QixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsV0FBVztJQUN2QixLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxPQUFPLEdBTXJCO0lBakJMLEFBTUksWUFOUSxDQU1SLGVBQWUsQUFPWCxNQUFPLENBQUM7TUFDSixVQUFVLEVBQUUsS0FBSztNQUNqQixLQUFLLEVUdmxCVCxPQUFPLEdTd2xCTjs7QUFJTCxBQUFBLFlBQVksQUFBQSxvQkFBb0IsQ0FBQztFQUM3QixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFDRCx1QkFBdUI7QUFDM0IsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGFBQWEsRUFBRSxLQUFLLEdBb0J2QjtFQXRCRCxBQUtJLGtCQUxjLENBS2QsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLENBQUMsRUFBRTtJQUNaLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLEtBQUssRVR0b0JKLE9BQTBEO0lTdW9CM0QsVUFBVSxFQUFFLEtBQUssR0FDcEI7RUFWTCxBQWFVLGtCQWJRLENBYWQsS0FBSyxDQUFDLEVBQUUsQUFBQSxVQUFXLENBQUEsQUFBQSxJQUFJLEVBQUU7SUFDckIsZ0JBQWdCLEVUOW1CaEIsT0FBTztJUyttQlAsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLEdBQy9DO0VBaEJMLEFBa0JVLGtCQWxCUSxDQWtCZCxLQUFLLENBQUMsRUFBRSxBQUFBLFVBQVcsQ0FBQSxBQUFBLEdBQUcsRUFBRTtJQUNwQixVQUFVLEVBQUUsT0FBTztJQUNuQixhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FDL0M7O0FBRUQsaUJBQWlCO0FBQ2pCLEFBQUEsVUFBVSxDQUFDO0VBQ1AsY0FBYyxFQUFFLEdBQUc7RUFDbkIsT0FBTyxFQUFFLFlBQVk7RUFDckIsT0FBTyxFQUFFLEdBQUc7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLGFBQWEsRUFBRSxJQUFJO0VBTW5CLG9CQUFvQixFQXFCdkI7RUFoQ0QsQUFPSSxVQVBNLENBT04sR0FBRyxDQUFDO0lBQ0EsV0FBVyxFQUFFLElBQUk7SUFDakIsS0FBSyxFQUFFLElBQUksR0FDZDtFQVZMLEFBWUksVUFaTSxBQVlOLE1BQU8sQ0FBQztJQUNKLGdCQUFnQixFQUFFLGtCQUFlO0lBQ2pDLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBZTtJQUN4QyxNQUFNLEVBQUUsMkNBQXdDO0lBQ2hELFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBakJMLEFBbUJJLFVBbkJNLENBbUJOLFdBQVcsQ0FBQztJQUNSLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLE1BQU07SUFDaEIsd0JBQXdCO0lBQ3hCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLEtBQUs7SUFDakIsY0FBYyxFQUFFLEdBQUc7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFnQixHQUM1Qzs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFpQjtFQUMxQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0I7RUFDcEMsVUFBVSxFQUFFLElBQUk7RUFDaEIsU0FBUyxFQUFFLFdBQVc7RUFDdEI7Ozs7Ozs7O1dBUUcsRUFDTjs7QUMvdEJMLG9CQUFvQjtBQTBCcEI7b0JBQ29CO0FBRXBCLHdCQUF3QjtBQUN4QixtQ0FBbUM7QUFZbkMsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRUE3QkwsT0FBK0IsQ0E2QkQsVUFBVSxHQUNoRDs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZ0JBQWdCLEVBQUUsb0JBQWlCO0VBQ25DLGdCQUFnQixFQUFFLHFCQUFzQixHQUMzQzs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLEtBQUs7RUFDZixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsZ0JBQWdCLEVBQUUsa0JBQWUsR0FDcEM7O0FBR0QsQUFBQSxRQUFRLENBQUM7RUFDTCxPQUFPLEVBQUUsWUFBWTtFQUNyQixzQ0FBc0M7RUFDdEMsTUFBTSxFQUFFLEdBQUcsR0FDZDs7QUFHRCxrQkFBa0I7QUFDbEIsQUFBQSxhQUFhLENBQUM7RUFFVjs7Ozs7O09BTUcsRUFrRk47RUExRkQsQUFhSSxhQWJTLENBYVQsY0FBYyxBQUFBLFVBQVUsRUFiNUIsQUFhOEIsYUFiakIsQ0FhaUIsY0FBYyxBQUFBLFlBQVksQ0FBQztJQUNqRCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxrQkFBSyxFQUFRLEdBQUcsQ0FBRSxLQUFJLENBQUMsSUFBSSxDQUFNLGtCQUFLLEdBQ3hFO0VBaEJMLEFBa0JJLGFBbEJTLENBa0JULGVBQWUsQUFBQSxXQUFXLENBQUM7SUFFdkIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsT0FBTztJQUNmLEtBQUssRUF4RWMseUJBQUs7SUF5RXhCLFVBQVUsRUE5RlQsT0FBOEI7SUErRi9CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFVBQVUsRUFBRSxNQUFNLEdBOERyQjtJQXpGTCxBQTZCUSxhQTdCSyxDQWtCVCxlQUFlLEFBQUEsV0FBVyxDQVd0QixRQUFRLENBQUM7TUFDTCxTQUFTLEVBQUUsSUFBSTtNQUNmLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQWxGVSx5QkFBSyxHQW1GdkI7SUFqQ1QsQUFtQ1EsYUFuQ0ssQ0FrQlQsZUFBZSxBQUFBLFdBQVcsQ0FpQnRCLFNBQVMsQ0FBQztNQUNOLE9BQU8sRUFBRSxLQUFLO01BQ2QsU0FBUyxFQUFFLElBQUk7TUFDZixPQUFPLEVBQUUsSUFBSTtNQUNiLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0lBeENULEFBa0JJLGFBbEJTLENBa0JULGVBQWUsQUFBQSxXQUFXLEFBd0J0QixNQUFPLENBQUM7TUFDSixnQkFBZ0IsRVZsR25CLHdCQUEwRDtNVW1HdkQsVUFBVSxFQUFFLEdBQUcsQ0FBRSxJQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixHQU05QztNQWxEVCxBQThDWSxhQTlDQyxDQWtCVCxlQUFlLEFBQUEsV0FBVyxBQXdCdEIsTUFBTyxDQUlILFNBQVMsQ0FBQztRQUNOLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBTSx3QkFBSztRQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUNiO0lBakRiLEFBa0JJLGFBbEJTLENBa0JULGVBQWUsQUFBQSxXQUFXLEFBa0N0QixRQUFTLENBQUM7TUFDTixVQUFVLEVBekhiLE9BQStCO01BMEg1QixVQUFVLEVBQUUsR0FBRyxDQUFFLElBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEdBQzlDO0lBdkRULEFBa0JJLGFBbEJTLENBa0JULGVBQWUsQUFBQSxXQUFXLEFBdUN0QixVQUFXLEVBekRuQixBQWtCSSxhQWxCUyxDQWtCVCxlQUFlLEFBQUEsV0FBVyxBQXVDVCxZQUFhLENBQUM7TUFDdkI7NkNBQ2lDO01BQ2pDLFVBQVUsRUFoSWIsT0FBK0I7TUFpSTVCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFNLHlCQUFLO01BQzVCLFdBQVcsRUFBRSxJQUFJO01BQ2pCLFlBQVksRUFBRSxJQUFJO01BU2xCOztXQUVELEVBQ0Y7TUEzRVQsQUFpRVksYUFqRUMsQ0FrQlQsZUFBZSxBQUFBLFdBQVcsQUF1Q3RCLFVBQVcsQ0FRUCxRQUFRLEVBakVwQixBQWlFWSxhQWpFQyxDQWtCVCxlQUFlLEFBQUEsV0FBVyxBQXVDVCxZQUFhLENBUXRCLFFBQVEsQ0FBQztRQUNMLEtBQUssRUFBRSxLQUFLLEdBRWY7SUFwRWIsQUFrQkksYUFsQlMsQ0FrQlQsZUFBZSxBQUFBLFdBQVcsQUEyRHRCLFlBQWEsQ0FBQztNQUNWLEtBQUssRVY3SFosd0JBQU8sR1VrSUg7TUFuRlQsQUFnRlksYUFoRkMsQ0FrQlQsZUFBZSxBQUFBLFdBQVcsQUEyRHRCLFlBQWEsQ0FHVCxRQUFRLENBQUM7UUFDTCxLQUFLLEVWaEloQix3QkFBTyxHVWlJQztJQWxGYixBQXFGUSxhQXJGSyxDQWtCVCxlQUFlLEFBQUEsV0FBVyxDQW1FdEIsUUFBUSxDQUFDO01BQ0wsU0FBUyxFQUFFLElBQUk7TUFDZixJQUFJLEVBQUUsSUFBSSxHQUNiOztBQU1ULGtCQUFrQjtBQUNsQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStFRztBQUNILGtCQUFrQjtBQUdsQixBQUFBLGVBQWUsQ0FBQztFQUNaLFVBQVUsRUFBRSxPQUFPLEdBd0p0QjtFQXpKRCxBQUdJLGVBSFcsQ0FHWCxjQUFjLENBQUM7SUFDWCxVQUFVLEVBQUUsR0FBRztJQUNmLE1BQU0sRUFBRSxJQUFJO0lBQ1osWUFBWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQU0sdUJBQXNCO0lBQ25ELFVBQVUsRUFBRSxxQkFBcUI7SUFDakMsVUFBVSxFQUFFLEtBQUssR0FDcEI7RUFUTCxBQVdJLGVBWFcsQ0FXWCxjQUFjLEFBQUEsVUFBVSxFQVg1QixBQVc4QixlQVhmLENBV2UsY0FBYyxBQUFBLFlBQVksQ0FBQztJQUNqRCxNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQXNCO0lBQzVDLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQXNCO0lBSTdDLGFBQWEsRUFBRSxJQUFJO0lBQ25CLHVCQUF1QixFQUFFLElBQUk7SUFDN0IsZ0NBQWdDO0lBQ2hDLFVBQVUsRUE1UVQsT0FBK0I7SUE2UWhDLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFNLGtCQUFLLEVBQU8sR0FBRyxDQUFFLElBQUcsQ0FBQyxHQUFHLENBQU0sa0JBQUssR0FLckU7SUE1QkwsQUFXSSxlQVhXLENBV1gsY0FBYyxBQUFBLFVBQVUsQUFJckIsWUFBYyxFQWZyQixBQVc4QixlQVhmLENBV2UsY0FBYyxBQUFBLFlBQVksQUFJakQsWUFBYyxDQUFDO01BQ1YsV0FBVyxFQUFFLElBQUksR0FDcEI7SUFqQlQsQUF5QlEsZUF6Qk8sQ0FXWCxjQUFjLEFBQUEsVUFBVSxDQWNwQixRQUFRLEVBekJoQixBQXlCUSxlQXpCTyxDQVdlLGNBQWMsQUFBQSxZQUFZLENBY2hELFFBQVEsQ0FBQztNQUNMLFNBQVMsRUFBRSxVQUFVLEdBQ3hCO0VBM0JULEFBOEJJLGVBOUJXLENBOEJYLGVBQWUsQUFBQSxVQUFVLENBQUM7SUFDdEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsT0FBTztJQUNmLEtBQUssRUFBTyx5QkFBSztJQUNqQixVQUFVLEVBNVJULE9BQThCO0lBNlIvQixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLGNBQWMsRUFBRSxLQUFLO0lBdUdyQjs7Ozs7Ozs7T0FRRCxFQUNGO0lBeEpMLEFBMENRLGVBMUNPLENBOEJYLGVBQWUsQUFBQSxVQUFVLENBWXJCLFNBQVMsQ0FBQztNQUNOLElBQUksRUFBRSxRQUFRO01BQ2QsYUFBYSxFQUFFLFFBQVE7TUFDdkIsUUFBUSxFQUFFLE1BQU0sR0FDbkI7SUE5Q1QsQUFnRFEsZUFoRE8sQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQ0FrQnJCLFFBQVEsQ0FBQztNQUNMLElBQUksRUFBRSxRQUFRO01BQ2QsVUFBVSxFQUFFLE1BQU07TUFDbEIsS0FBSyxFQXZSVSx5QkFBSztNQXdScEIsWUFBWSxFQUFFLEtBQUs7TUFDbkIsYUFBYSxFQUFFLEtBQUssR0FLdkI7TUExRFQsQUF1RFksZUF2REcsQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQ0FrQnJCLFFBQVEsQ0FPSixHQUFHLENBQUM7UUFDQSxNQUFNLEVBQUUsR0FBRyxHQUNkO0lBekRiLEFBOEJJLGVBOUJXLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBOEJyQixNQUFPLENBQUM7TUFDSixnQkFBZ0IsRVZ0U25CLHdCQUEwRCxHVW1UMUQ7TUExRVQsQUErRFksZUEvREcsQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQUE4QnJCLE1BQU8sQ0FHSCxTQUFTLENBQUM7UUFDTixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQU0sd0JBQUs7UUFDbkMsT0FBTyxFQUFFLENBQUMsR0FDYjtNQWxFYixBQThCSSxlQTlCVyxDQThCWCxlQUFlLEFBQUEsVUFBVSxBQThCckIsTUFBTyxBQVFILGVBQWdCLEFBRVosT0FBUSxDQUFDO1FBQ0wsS0FBSyxFQUFFLEtBQUssR0FDZjtJQXhFakIsQUE4QkksZUE5QlcsQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQUE4Q3JCLFVBQVcsRUE1RW5CLEFBOEJJLGVBOUJXLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBOENSLFlBQWEsQ0FBQztNQUN2QixXQUFXLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQU0sa0JBQUs7TUFDbkMsVUFBVSxFQUFFLFdBQVc7TUFDdkIsZUFBZSxFQUFFLFNBQVMsR0FDN0I7SUFoRlQsQUEwRlksZUExRkcsQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQUEwRHJCLGlCQUFrQixDQUVkLFNBQVMsQ0FBQztNQUNOLEtBQUssRVZuVFoseUJBQW1CLEdVb1RmO0lBNUZiLEFBOEZZLGVBOUZHLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBMERyQixpQkFBa0IsQ0FNZCxRQUFRLENBQUM7TUFDTCxZQUFZLEVBQUUsTUFBTTtNQUNwQixVQUFVLEVBQUUsT0FBaUI7TUFDN0IsS0FBSyxFVnpUWix5QkFBbUIsR1UwVGY7SUFsR2IsQUE4QkksZUE5QlcsQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQUF1RXJCLGVBQWdCLEFBRVosT0FBUSxDQUFDO01BQ0wsV0FBVyxFQUFFLFdBQVc7TUFDeEIsT0FBTyxFQUFFLE9BQU87TUFDaEIsS0FBSyxFQTdWZCxPQUFPO01BOFZFLFlBQVksRUFBRSxLQUFLO01BQ25CLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0lBN0diLEFBOEJJLGVBOUJXLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBdUZyQixRQUFTLENBQUM7TUFDTixVQUFVLEVBNVdiLE9BQStCLEdBcVgvQjtNQS9IVCxBQThCSSxlQTlCVyxDQThCWCxlQUFlLEFBQUEsVUFBVSxBQXVGckIsUUFBUyxBQUdMLGVBQWdCLEFBQ1osT0FBUSxDQUFDO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFjO1FBQ3ZDLEtBQUssRUFBRSxLQUFLLEdBQ2Y7SUE3SGpCLEFBOEJJLGVBOUJXLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBcUdyQixZQUFhLENBQUM7TUFDVixLQUFLLEVWcldaLHdCQUFPLEdVMFdIO01BeklULEFBc0ljLGVBdElDLENBOEJYLGVBQWUsQUFBQSxVQUFVLEFBcUdyQixZQUFhLENBR1AsQ0FBQyxDQUFDO1FBQ0EsS0FBSyxFVnhXaEIsd0JBQU8sR1V5V0M7SUF4SWIsQUEySVEsZUEzSU8sQ0E4QlgsZUFBZSxBQUFBLFVBQVUsQ0E2R3JCLFFBQVEsQ0FBQztNQUNMLFNBQVMsRUFBRSxJQUFJO01BQ2YsSUFBSSxFQUFFLElBQUksR0FDYjs7QUFhVCxBQUFBLElBQUksQ0FBQztFQUNELGFBQWEsRUFyWlIsT0FBOEI7RUFzWm5DLFNBQVMsRUFBRSxPQUFPLEdBQ3JCOztBQUVELEFBQUEsNEJBQTRCLEVBQUUsQUFBQSxrQkFBa0IsRUFBRSxBQUFBLFlBQVksRUFBRSxBQUFBLHVCQUF1QjtBQUN2RixBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLGVBQWUsRUFBRSxjQUFjLENBQUMsa0JBQWtCLEdBZXJEO0VBbEJELEFBS0ksNEJBTHdCLEFBSzVCLG1CQUF3QixFQUxNLEFBSzFCLGtCQUw0QyxBQUtoRCxtQkFBd0IsRUFMMEIsQUFLOUMsWUFMMEQsQUFLOUQsbUJBQXdCLEVBTHdDLEFBSzVELHVCQUxtRixBQUt2RixtQkFBd0I7RUFKeEIsQUFJSSx1QkFKbUIsQUFJdkIsbUJBQXdCLENBQUM7SUFDakIsS0FBSyxFQUFFLElBQUksR0FDZDtFQVBMLEFBU0ksNEJBVHdCLEFBUzVCLHlCQUE4QixFQVRBLEFBUzFCLGtCQVQ0QyxBQVNoRCx5QkFBOEIsRUFUb0IsQUFTOUMsWUFUMEQsQUFTOUQseUJBQThCLEVBVGtDLEFBUzVELHVCQVRtRixBQVN2Rix5QkFBOEI7RUFSOUIsQUFRSSx1QkFSbUIsQUFRdkIseUJBQThCLENBQUM7SUFDdkIsVUFBVSxFQUFFLGtCQUFrQixHQUNqQztFQVhMLEFBYUksNEJBYndCLEFBYTVCLHlCQUE4QixFQWJBLEFBYTFCLGtCQWI0QyxBQWFoRCx5QkFBOEIsRUFib0IsQUFhOUMsWUFiMEQsQUFhOUQseUJBQThCLEVBYmtDLEFBYTVELHVCQWJtRixBQWF2Rix5QkFBOEI7RUFaOUIsQUFZSSx1QkFabUIsQUFZdkIseUJBQThCLENBQUM7SUFDdkIsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQyxhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FDdkM7O0FBRUwsZ0RBQWdEO0FBQ2hELGlEQUFpRDtBQUNqRDs7Ozs7OztHQU9HO0FBQ0gsYUFBYTtBQUNiLEFBQ0ksbUJBRGUsQ0FDZixDQUFDLEVBREwsQUFDTyxtQkFEWSxDQUNaLENBQUMsQUFBQSxRQUFRLENBQUM7RUFDVCxLQUFLLEVWeGFMLHlCQUF5RCxHVXlhNUQ7O0FBSEwsQUFLSSxtQkFMZSxDQUtmLENBQUMsQUFBQSxNQUFNLENBQUM7RUFDSixLQUFLLEVWNWFMLE9BQXlELEdVNmE1RDs7QUFFTCx5QkFBeUI7QUFDekIsQUFBQSxVQUFVLENBQUM7RUFFUCxRQUFRLEVBQUUsUUFBUTtFQUVsQixTQUFTLEVBQUUsSUFBSTtFQUNmLFlBQVksRUFBRSxNQUFNO0VBQ3BCLGFBQWEsRUFBRSxLQUFLLEdBZXZCO0VBckJELEFBUUksVUFSTSxDQVFOLEVBQUUsQ0FBQztJQUNDLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBVkwsQUFZSSxVQVpNLENBWU4sRUFBRSxDQUFDO0lBQ0MsWUFBWSxFQUFFLENBQ2xCLEdBQUU7RUFkTixBQWdCSSxVQWhCTSxDQWdCTixjQUFjLENBQUM7SUFDWCxhQUFhLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBTSx5QkFBSztJQUNwQyxNQUFNLEVBQUUsS0FBSztJQUNiLE1BQU0sRUFBRSxDQUFDLEdBQ1o7O0FBTUwsQUFBZ0IsVUFBTixHQUFHLEVBQUUsQ0FBQyxFQUFFLEFBQUEsV0FBVyxDQUFDO0VBQzFCLHlEQUF5RCxFQUM1RDs7QUFDRCxrQkFBa0I7QUFDbEIsQUFBQSxVQUFVLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFlBQVksRUFBRSxLQUFLLEdBQ3RCOztBQUVELEFBQUEsTUFBTSxFQUFFLEFBQUEsU0FBUyxDQUFDO0VBQ2QsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsS0FBSztFQUNkLFlBQVksRUFBRSxHQUFHO0VBQ2pCLEtBQUssRVY1ZEQseUJBQXlELEdVdWVoRTtFQWZELEFBTUksTUFORSxBQU1ILE1BQVEsRUFOSCxBQU1KLFNBTmEsQUFNZCxNQUFRLENBQUM7SUFDSixLQUFLLEVWL2RMLE9BQXlEO0lVZ2V6RCxVQUFVLEVWbGVULHdCQUEwRDtJVW1lM0QsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUFWTCxBQVlJLE1BWkUsQ0FZRixDQUFDLEVBWkcsQUFZSixTQVphLENBWWIsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFVjNjTCxLQUFPLEdVNGNWOztBQUdMLEFBQUEsU0FBUyxDQUFDO0VBQ04sT0FBTyxFQUFFLEtBQUssR0FDakI7O0FBRUQsQUFDSSxNQURFLENBQ0YsQ0FBQyxFQURMLEFBQ08sTUFERCxDQUNDLENBQUMsQUFBQSxRQUFRLENBQUM7RUFDVCxLQUFLLEVWL2VMLHlCQUF5RCxHVWdmNUQ7O0FBSEwsQUFLSSxNQUxFLENBS0YsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUNKLEtBQUssRVZuZkwsT0FBeUQsR1VvZjVEOztBQVBMLEFBU00sTUFUQSxHQVNBLENBQUMsQ0FBQztFQUNBLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0VBRVgsV0FBVyxFQUFFLE1BQU07RUFDbkIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFFLEtBQUssR0FDdkI7O0FBakJMLEFBbUJJLE1BbkJFLEFBbUJGLFNBQVUsQ0FBQztFQUNQLE1BQU0sRUFBRSxPQUFPO0VBQ2YsS0FBSyxFVmxnQkwsd0JBQXlELEdVMmdCNUQ7RUE5QkwsQUF1QlEsTUF2QkYsQUFtQkYsU0FBVSxDQUlOLENBQUMsQ0FBQztJQUNFLEtBQUssRVYzZVQsd0JBQU8sR1U0ZU47RUF6QlQsQUEyQlEsTUEzQkYsQUFtQkYsU0FBVSxBQVFOLE1BQU8sQ0FBQztJQUNKLFVBQVUsRUFBRSxXQUFXLEdBQzFCOztBQUtULEFBQUEsU0FBUyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVEsR0F5RHJCO0VBMURELEFBR00sU0FIRyxHQUdILFNBQVMsQUFBQSxRQUFRLENBQUM7SUFDaEIsOEJBQThCO0lBQzlCOzJCQUNtQjtJQUNuQixXQUFXLEVBQUUsV0FBVztJQUN4QixPQUFPLEVBQUUsT0FBTztJQUNoQixLQUFLLEVWemhCSixPQUEwRDtJVTBoQjNELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxJQUFJLEdBQ2I7RUFaTCxBQWVJLFNBZkssQ0FlTCxNQUFNLEFBQUEsT0FBTyxDQUFDO0lBQ1YsU0FBUyxFQUFFLFVBQVUsR0FDeEI7RUFqQkwsQUFxQlUsU0FyQkQsQUFvQkwsVUFBVyxHQUNMLFNBQVMsQUFBQSxRQUFRLENBQUM7SUFFaEIsT0FBTyxFQUFFLE9BQU87SUFDaEIsS0FBSyxFVnppQlIsT0FBMEQ7SVUwaUJ2RCxJQUFJLEVBQUUsTUFBTSxHQUNmO0VBMUJULEFBOEJVLFNBOUJELEFBb0JMLFVBQVcsR0FVTCxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQWhDVCxBQW1DTSxTQW5DRyxHQW1DSCxhQUFhLENBQUM7SUFDWjs7MENBRWtDLEVBQ3JDO0VBdkNMLEFBMkNNLFNBM0NHLEdBMkNILGFBQWEsQ0FBQztJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLE9BQU87SUFDYixNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxHQUFHO0lBQ1YsV0FBVyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQU0sd0JBQUs7SUFDbEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQU0sd0JBQUs7SUFDcEMseUJBQXlCLEVBQUUsSUFBSTtJQUMvQiw0Q0FBNEMsRUFDL0M7RUFyREwsQUF1RGtCLFNBdkRULEFBdURMLFVBQVcsR0FBRyxhQUFhLENBQUM7SUFDeEIsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBR0wsVUFBVSxDQUFWLGVBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxPQUFPLEVBQUUsR0FBRztJQUNaOzBEQUNrRDtFQUd0RCxBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQzs7QUFHbEIsa0NBQWtDO0FBQ2xDLEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsT0FBTyxFQUFFLEtBQUs7RUFFZCxVQUFVLEVBQUUsTUFBTTtFQUNsQixPQUFPLEVBQUUsR0FBRztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsWUFBWSxFQUFFLElBQUk7RUFDbEIsa0NBQWtDLEVBQ3JDOztBQUVELEFBQW9CLG1CQUFELENBQUMsR0FBRyxDQUFDO0VBQ3BCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUVELEFBQW9CLG1CQUFELENBQUMsQ0FBQyxDQUFDO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLE1BQU0sRUFBRSxLQUFLLEdBQ2hCOztBQUVELEFBQUEsNEJBQTRCLENBQUM7RUFDekIsUUFBUSxFQUFFLElBQUk7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGdCQUFnQixFQS9uQlgsT0FBOEI7RUFnb0JuQyxVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGNBQWMsRUFBRSxHQUFHLEdBQ3RCOztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxNQUFNLEVBQUUsR0FBRztFQUNYLFVBQVUsRUFBRSxDQUFDO0VBQ2IsTUFBTSxFVDdmYSxHQUFHLENBQUMsS0FBSyxDRGhJdkIsdUJBQTBEO0VVK25CL0QsVUFBVSxFQXpvQkwsT0FBK0I7RUEwb0JwQyxLQUFLLEVBQUUsS0FBSztFQUNaLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGtDQUFrQztFQUNsQyxjQUFjLEVBQUUsR0FBRztFQUNuQixVQUFVLEVUMWxCRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0IsR1MybEJ4Qzs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsTUFBTSxFQUFFLEdBQUc7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsWUFBWTtFQUNyQixnQkFBZ0IsRUF0cEJYLE9BQThCO0VBdXBCbkMsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsT0FBTztFQUNuQixjQUFjLEVBQUUsR0FBRyxHQUN0Qjs7QUFFRCxBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxnQkFBZ0IsRUEvcEJYLE9BQThCO0VBZ3FCbkMsMkJBQTJCO0VBQzNCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLEdBQUc7RUFDWixZQUFZLEVBQUUsSUFBSTtFQUNsQixRQUFRLEVBQUUsTUFBTSxHQUNuQjs7QUFFRCxBQUFvQixtQkFBRCxDQUFDLEtBQUssQ0FBQztFQUN0QixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFDRCxZQUFZO0FBQ1osQUFBQSxhQUFhLEFBQUEsUUFBUSxDQUFDO0VBQ2xCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFBQSxhQUFhLEFBQUEsUUFBUSxBQUFBLFNBQVMsQ0FBQztFQUMzQixTQUFTLEVBQUUsS0FBSyxHQUNuQjs7QUFFRCxBQUFBLGFBQWEsQUFBQSxRQUFRLEFBQUEsUUFBUSxDQUFDO0VBQzFCLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBQUVELEFBQUEsYUFBYSxBQUFBLFFBQVEsQ0FBQztFQUNsQixJQUFJLEVBQUUsS0FBSyxHQUNkOztBQUVELEFBQUEsYUFBYSxBQUFBLFFBQVEsQ0FBQztFQUNsQixnQkFBZ0IsRUFDbkI7O0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUMvQixBQUFBLGFBQWEsQUFBQSxRQUFRLENBQUM7SUFDbEIsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFHTCxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VBQy9CLEFBQUEsYUFBYSxBQUFBLFFBQVEsQ0FBQztJQUNsQixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUdMLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RUFDaEMsQUFBQSxhQUFhLEFBQUEsUUFBUSxDQUFDO0lBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ2hCOztBQUVMOzs7O0dBSUc7QUFDSCxvREFBb0Q7QUFDcEQ7O0dBRUc7QUFDSDs7Ozs7O0dBTUc7QUFDSCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsTUFBTTtFQU9qQixrQkFBa0IsRUFBRSxJQUFJO0VBQUcsaUJBQWlCO0VBQzVDLGVBQWUsRUFBRSxJQUFJO0VBQUcsYUFBYSxFQUN4QztFQVpELEFBTUksaUJBTmEsQUFNYixtQkFBb0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsR0FBRztJQUNWLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUtMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsTUFBTTtFQUNqQixlQUFlLEVBQUUsYUFBYTtFQUM5QixRQUFRLEVBQUUsTUFBTTtFQUNoQiwwQkFBMEI7RUFDMUI7O09BRUcsRUF1RE47RUFqRUQsQUFhSSxjQWJVLEFBYVYsYUFBYyxDQUFDO0lBQ1gsaUJBQWlCO0lBQ2pCLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLElBQUksR0FpQm5CO0lBakNMLEFBaUJVLGNBakJJLEFBYVYsYUFBYyxHQUlSLGlCQUFpQixDQUFDO01BQ2hCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLGNBQWMsRUFBRSxNQUFNO01BQ3RCLElBQUksRUFBRSxRQUFRO01BQ2QsZUFBZSxFQUFFLFVBQVU7TUFVM0IsS0FBSyxFQUFFLGlCQUFpQixHQUMzQjtNQWhDVCxBQWlCVSxjQWpCSSxBQWFWLGFBQWMsR0FJUixpQkFBaUIsQUFNZixZQUFhLENBQUM7UUFDVixJQUFJLEVBQUUsUUFBUSxHQUNqQjtNQXpCYixBQWlCVSxjQWpCSSxBQWFWLGFBQWMsR0FJUixpQkFBaUIsQUFVZixXQUFZLENBQUM7UUFDVCxJQUFJLEVBQUUsUUFBUSxHQUNqQjtFQTdCYixBQW1DSSxjQW5DVSxBQW1DVixlQUFnQixDQUFDO0lBQ2IsY0FBYyxFQUFFLEdBQUc7SUFDbkIsTUFBTSxFQUFFLElBQUksR0EyQmY7SUFoRUwsQUF1Q1UsY0F2Q0ksQUFtQ1YsZUFBZ0IsR0FJVixpQkFBaUIsQ0FBQztNQUNoQixVQUFVLEVBQUUsTUFBTTtNQUNsQixjQUFjLEVBQUUsR0FBRztNQUNuQixJQUFJLEVBQUUsUUFBUTtNQUNkLG1DQUFtQztNQUNuQyxlQUFlLEVBQUUsVUFBVTtNQVczQixNQUFNLEVBQUUsaUJBQWlCLEdBUTVCO01BL0RULEFBdUNVLGNBdkNJLEFBbUNWLGVBQWdCLEdBSVYsaUJBQWlCLEFBUWYsWUFBYSxDQUFDO1FBQ1YsSUFBSSxFQUFFLFFBQVEsR0FDakI7TUFqRGIsQUF1Q1UsY0F2Q0ksQUFtQ1YsZUFBZ0IsR0FJVixpQkFBaUIsQUFZZixXQUFZLENBQUM7UUFDVCxJQUFJLEVBQUUsUUFBUSxHQUNqQjtNQXJEYixBQXlEWSxjQXpERSxBQW1DVixlQUFnQixHQUlWLGlCQUFpQixDQWtCZixjQUFjLENBQUM7UUFDWCxJQUFJLEVBQUUsUUFBUTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsU0FBUyxFQUFFLElBQUk7UUFDZixRQUFRLEVBQUUsTUFBTSxHQUNuQjs7QUFLYixBQUFBLG1CQUFtQixDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FrQmI7RUF4QkQsQUFRSSxtQkFSZSxDQVFmLHNCQUFzQixDQUFDO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7RUFYTCxBQWFJLG1CQWJlLENBYWYsWUFBWSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQU0sd0JBQUs7SUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFjO0lBQ3pDLFVBQVUsRUFqMEJULE9BQThCO0lBazBCL0IsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBQyxJQUFJO0lBQ2IsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLG1CQUFtQjtJQUM5QixLQUFLLEVBQUUsV0FBVyxHQUNyQjs7QUFFTCx1Q0FBdUM7QUFDdkMsQUFBYSxZQUFELENBQUMsUUFBUSxFQUFFLEFBQWEsWUFBRCxDQUFDLE1BQU0sQ0FBQztFQUN2QyxLQUFLLEVWcnlCRCxPQUFPLEdVc3lCZDs7QUFFRCxBQUFhLFlBQUQsQ0FBQyxZQUFZLEFBQUEsY0FBYyxDQUFDO0VBQ3BDLFVBQVUsRVZ2MEJMLE9BQTBEO0VVdzBCL0QsS0FBSyxFVnZ5QkQsT0FBTztFVXd5QlgsTUFBTSxFVHB0QmEsSUFBSTtFU3F0QnZCLGFBQWEsRUFBRSxHQUFHLEdBS3JCO0VBVEQsQUFBYSxZQUFELENBQUMsWUFBWSxBQUFBLGNBQWMsQUFNbkMsTUFBTyxDQUFDO0lBQ0osVUFBVSxFVjMwQlQsdUJBQTBELEdVNDBCOUQ7O0FBSUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxBQUFBLGFBQWEsQ0FBQztFQUNWLEtBQUssRUFBRSxnQkFBZ0IsR0FDMUI7O0FBQ0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0g7Ozs7Ozs7OztHQVNHO0FBQ0gsY0FBYztBQUNkLEFBQUEsYUFBYSxDQUFDO0VBQ1YsUUFBUSxFQUFFLE1BQU0sR0FDbkI7O0FBQ0Qsd0JBQXdCO0FBQ3hCLEFBQUEsYUFBYSxBQUFBLE1BQU0sQ0FBQztFQUNoQixVQUFVLEVBQUUsd0JBQXdCO0VBQ3BDLFVBQVUsRVYxNUJULE9BQU87RVUyNUJSLFlBQVksRVYzNUJYLE9BQU8sR1U0NUJYOztBQUNEOzs7RUFHRTtBQUNGLEFBQUEsd0JBQXdCLENBQUM7RUFDckIsT0FBTyxFQUFFLElBQUksR0FHaEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFUG44QnBCLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VPaThCakIsUUFBUSxFQUFFLEtBQUs7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxLQUFLO0VBQ2QsU0FBUyxFQUFFLEtBQUs7RUFDaEIsVUFBVSxFQUFFLEtBQXNCO0VBQ2xDLE1BQU0sRUFBRSxtQkFBbUI7RUFDM0IsT0FBTyxFQUFFLE9BQU87RUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFlO0VBQUUsNENBQTRDO0VBQ3hGLFNBQVMsRUFBRSxLQUFLLEdBb0VuQjtFQTlFRCxBQVlJLHVCQVptQixDQVluQixxQkFBcUIsQUFBQSxzQkFBc0IsQ0FBQztJQUN4QyxPQUFPLEVBQUUsV0FBVztJQUNwQixRQUFRLEVBQUUsTUFBTTtJQUNoQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixZQUFZLEVBQUUsbUJBQW1CLEdBS3BDO0lBdEJMLEFBbUJRLHVCQW5CZSxDQVluQixxQkFBcUIsQUFBQSxzQkFBc0IsQ0FPdkMsc0JBQXNCLENBQUM7TUFDbkIsT0FBTyxFQUFFLElBQ2IsR0FBRTtFQXJCVixBQXdCSSx1QkF4Qm1CLENBd0JuQixxQkFBcUIsQ0FBQztJQUNsQixNQUFNLEVBQUUsT0FBTztJQUNmLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLFVBQVU7SUFDdkIsT0FBTyxFQUFFLE9BQU87SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZiw2Q0FBNkM7SUFDN0MsT0FBTyxFQUFFLElBQUk7SUFDYixLQUFLLEVBQUUsbUJBQWdCO0lBQ3ZCLFdBQVcsRUFBRSxNQUFNLEdBc0J0QjtJQXhETCxBQXdCSSx1QkF4Qm1CLENBd0JuQixxQkFBcUIsQUFZakIsTUFBTyxDQUFDO01BQ0osVUFBVSxFQUFFLE9BQU8sR0FDdEI7SUF0Q1QsQUF5Q1EsdUJBekNlLENBd0JuQixxQkFBcUIsQ0FpQmpCLHNCQUFzQixDQUFDO01BQ25CLElBQUksRUFBRSxRQUFRO01BQ2QsS0FBSyxFQUFFLEtBQUs7TUFDWixPQUFPLEVBQUUsR0FBRztNQUNaLEtBQUssRUF0K0JSLE9BQStCO01BdStCNUIsVUFBVSxFQUFFLE1BQU0sR0FDckI7SUEvQ1QsQUFpRFEsdUJBakRlLENBd0JuQixxQkFBcUIsQ0F5QmpCLHNCQUFzQixDQUFDO01BQ25CLE9BQU8sRUFBRSxHQUFHO01BQ1osSUFBSSxFQUFFLFFBQVE7TUFDZCxXQUFXLEVBQUUsTUFBTTtNQUNuQixRQUFRLEVBQUUsTUFBTTtNQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQXZEVCxBQTBESSx1QkExRG1CLENBMERuQiwwQkFBMEIsQ0FBQztJQUN2QixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBYztJQUNwQyxNQUFNLEVBQUUsU0FBUyxHQUNwQjtFQTdETCxBQStESSx1QkEvRG1CLENBK0RuQix5QkFBeUIsQUFBQSxxQkFBcUIsQ0FBQztJQUMzQyxNQUFNLEVBQUUsT0FBTztJQUNmLEtBQUssRUFBTyx5QkFBSSxHQVluQjtJQTdFTCxBQStESSx1QkEvRG1CLENBK0RuQix5QkFBeUIsQUFBQSxxQkFBcUIsQUFJMUMsTUFBTyxDQUFDO01BQ0osVUFBVSxFQUFFLEtBQXNCLEdBQ3JDO0lBckVULEFBdUVRLHVCQXZFZSxDQStEbkIseUJBQXlCLEFBQUEscUJBQXFCLENBUTFDLHNCQUFzQixDQUFDO01BQ25CLEtBQUssRUFBTyx5QkFBSSxHQUNuQjs7QUFPVCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsS0FBSyxFVHIrQkUsT0FBTyxHU3MrQmpCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixLQUFLLEVWNS9CSixPQUFPLEdVNi9CWDs7QUFDRCwyQkFBMkI7QUFFM0IsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFVBQVUsRUFwaENMLE9BQStCLENBb2hDRCxVQUFVLEdBQ2hEOztBQUVELEFBQUEsZ0JBQWdCLEVBQUUsQUFBQSxpQkFBaUIsQ0FBQztFQUNoQyxZQUFZLEVBQUUsTUFBTSxHQW9CdkI7RUFyQkQsQUFHSSxnQkFIWSxDQUdaLFNBQVMsRUFISyxBQUdkLGlCQUgrQixDQUcvQixTQUFTLENBQUM7SUFDTixPQUFPLEVBQUUsWUFBWTtJQUNyQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxHQUFHO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsVUFBVSxFQWhpQ1QsT0FBK0I7SUFpaUNoQyxNQUFNLEVBQUUscUJBQXFCLEdBQ2hDO0VBWEwsQUFhWSxnQkFiSSxBQWFiLE1BQVEsQ0FBQyxTQUFTLEVBYkgsQUFhTixpQkFidUIsQUFhaEMsTUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNkLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFNLHlCQUFLO0lBQzVCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBZSxHQUMzQztFQWhCTCxBQWtCSSxnQkFsQlksQUFrQmIsTUFBUSxFQWxCTyxBQWtCZCxpQkFsQitCLEFBa0JoQyxNQUFRLENBQUM7SUFDSixVQUFVLEVBNWlDVCxzQkFBOEIsR0E2aUNsQzs7QUFHTCxBQUVJLGlCQUZhLENBRWIsU0FBUyxDQUFDO0VBQ04sVUFBVSxFVmhoQ1QsT0FBZSxHVWloQ25COztBQUpMLEFBTUksaUJBTmEsQUFNYixNQUFPLENBQUM7RUFDSixrQ0FBa0MsRUFDckM7O0FBR0wsQUFDSSxhQURTLENBQ1QsTUFBTSxDQUFDO0VBQ0gsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFNLHdCQUFLO0VBQzdCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFPLHlCQUFLO0VBQ2pCLE9BQU8sRUFBRSxLQUFLLEdBS2pCO0VBYkwsQUFDSSxhQURTLENBQ1QsTUFBTSxBQVNGLE1BQU8sQ0FBQztJQUNKLFVBQVUsRUFBTyx3QkFBSyxHQUN6Qjs7QUFJVCxBQUNJLFlBRFEsQ0FDUixpQkFBaUIsQUFBQSxZQUFZLENBQUM7RUFDMUIsT0FBTyxFQUFDLElBQUksR0FDZjs7QUFFTCxBQUVRLGFBRkssQ0FDVCxpQkFBaUIsQUFBQSxZQUFZLENBQ3pCLGNBQWMsQ0FBQztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLENBQUM7RUFDYixZQUFZLEVBQUUsV0FBVyxHQUM1Qjs7QUFJVCxBQUFBLGVBQWUsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxhQUFhLEFBQXZCLEVBQXlCO0VBQ3JDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsU0FBUyxFQUFFLFVBQVU7RUFDckIsZUFBZSxFQUFFLE1BQU0sR0FZMUI7RUFmRCxBQUtJLGVBTFcsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxhQUFhLEFBQXZCLEVBS1osUUFBUSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLElBQUksR0FPZDtJQWRMLEFBS0ksZUFMVyxDQUFBLEFBQUEsU0FBQyxDQUFVLGFBQWEsQUFBdkIsRUFLWixRQUFRLEFBSUosTUFBTyxDQUFDO01BQ0osVUFBVSxFQUFFLElBQUk7TUFDaEIsTUFBTSxFQUFFLGVBQWU7TUFDdkIsU0FBUyxFQUFFLFdBQVcsR0FDekI7O0FBR1QsQUFBZ0IsZUFBRCxDQUFDLGVBQWUsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLEVBQXNCO0VBQ2xELFNBQVMsRUFBRSxHQUFHLEdBTWpCO0VBUEQsQUFHSSxlQUhXLENBQUMsZUFBZSxDQUFBLEFBQUEsU0FBQyxDQUFVLFVBQVUsQUFBcEIsRUFHNUIsUUFBUSxDQUFDO0lBQ0wsWUFBWSxFQUFFLEtBQUs7SUFDbkIsU0FBUyxFQUFFLFVBQVUsR0FDeEI7O0FBRUwsQUFDSSxhQURTLENBQ1QsZUFBZSxDQUFBLEFBQUEsU0FBQyxDQUFVLFVBQVUsQUFBcEIsRUFBc0I7RUFDbEMsVUFBVSxFQUFFLGtCQUFrQixHQU9qQztFQVRMLEFBSVEsYUFKSyxDQUNULGVBQWUsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLEVBR1osUUFBUSxDQUFDO0lBQ0wsU0FBUyxFQUFFLGVBQWU7SUFDMUI7K0JBQ21CLEVBQ3RCOztBQVJULEFBV0ksYUFYUyxDQVdULGVBQWUsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxnQkFBZ0IsQUFBMUIsRUFBNEI7RUFDeEMsbUNBQW1DLEVBS3RDO0VBakJMLEFBY1EsYUFkSyxDQVdULGVBQWUsQ0FBQSxBQUFBLFNBQUMsQ0FBVSxnQkFBZ0IsQUFBMUIsRUFHWixRQUFRLENBQUM7SUFDTCxTQUFTLEVBQUUsZUFBZSxHQUM3Qjs7QUFHVCxBQUFBLHVCQUF1QixDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFFBQVEsRUFBQyxJQUFJLEdBQ3RDOztBQ3BwQ0Q7OztFQUdFO0FBU0YsQUFBQSxVQUFVLEFBQUEsU0FBUyxDQUFDO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0VBRVIsVUFBVSxFQUFPLHdCQUFLO0VBQ3RCLFVBQVUsRUFBRSw2REFBaUQ7RUFDN0QsVUFBVSxFQUFFLGFBQWE7RUFDekIsT0FBTyxFQWpCTSxFQUFFLEdBa0JsQjs7QUFFRCxBQUFzQyxlQUF2QixDQUFDLFVBQVUsQUFBQSxTQUFTLEdBQUcsVUFBVSxDQUFDO0VBQzdDLE9BQU8sRUFBRSxLQUFLLENBQUEsVUFBVSxHQUMzQjs7QUFFRCxtREFBbUQ7QUFDbkQseUJBQXlCO0FBQ3pCLEFBQUEsTUFBTSxDQUFBO0VBQ0YsK0JBQStCLEVBQ2xDOztBQUNELEFBQUEsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUVJLFlBRlEsQ0FFUixRQUFRLENBQUM7RUFDTCxnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxxQkFBcUI7RUFDN0IsYUFBYSxFQUFFLENBQUM7RUFDaEIsWUFBWSxFQUFFLEtBQUs7RUFDbkIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFWTCxBQVlLLFlBWk8sQ0FZUCxRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ1osZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQWhCTCxBQWtCSSxZQWxCUSxDQWtCUixRQUFRLEFBQUEsTUFBTSxDQUFDO0VBQ1gsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjs7QUFHTCxBQUFBLG1CQUFtQixDQUFBO0VBQUUsK0JBQStCLEVBQ25EOztBQUNELEFBQUEsVUFBVSxDQUFDO0VBQUUsK0JBQStCLEVBQzNDOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQUUsK0JBQStCLEVBQzlDOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQUUsK0JBQStCLEVBQzNDOztBQUNELEFBQUEsWUFBWSxDQUFBO0VBQ1IsK0JBQStCLEVBQ2xDOztBQUVELG1EQUFtRDtBQUVuRCwwQkFBMEI7QUFDMUIsa0RBQWtEO0FBRWxELEFBQUEsYUFBYSxDQUFDO0VBQ1YsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFVmxCRCxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBZTtFVW1CckMsTUFBTSxFVm1CVSxHQUFHLENBQUMsS0FBSyxDRGpGcEIscUJBQTBEO0VXK0QvRCxPQUFPLEVBQUUsRUFBRTtFQUNYLGdCQUFnQixFWGpEZixPQUFPO0VXbURSLGdFQUFnRTtFQUNoRSxvQkFBb0I7RUFDcEIsU0FBUyxFQUFFLEtBQUssR0FFbkI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE1BQU0sRUFBRSxHQUFHO0VBQ1gsS0FBSyxFQUFFLEtBQUssR0FFZjs7QUFFRyxBQUFrQixpQkFBRCxDQUFDLENBQUMsQUFBQSxLQUFLLEVBQUUsQUFBa0IsaUJBQUQsQ0FBQyxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQ2xELE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsR0FBRztFQUNYLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQUVELEFBQWtCLGlCQUFELENBQUMsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUN0Qiw4QkFBOEIsRUFDakM7O0FBRUwsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxLQUFLO0VBQ1gsS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxzQkFBc0I7RUFDbEMsYUFBYSxFQUFFLHNCQUFzQjtFQUNyQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ1hqR25CLHFCQUEwRCxHV2tHbEU7O0FBRUQsbURBQW1EO0FBQ25ELHlCQUF5QjtBQUN6QixzQkFBc0I7QUFDdEIsQUFBQSxZQUFZLENBQUM7RUFDVCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ1h0RWIsT0FBTztFV3VFWCxPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRVh4RUQsT0FBTztFV3lFWCxnQkFBZ0IsRUFBRSxxQkFBc0I7RUFDeEMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBQzFDOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsc0JBQXVCO0VBQ3pDLEtBQUssRUFBRSxXQUFXO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsS0FBSyxFQUFFLENBQUM7RUFDUixPQUFPLEVBQUUsRUFBRTtFQUNYLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLEtBQUs7RUFDZCxTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxNQUFNO0VBQ2YsYUFBYSxFQUFFLGdCQUFnQixHQUNsQzs7QUFDRCxBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxJQUFJO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUVELElBQUk7QUFDSixtREFBbUQ7QUFJbkQsbURBQW1EO0FBQ25ELGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIsa0NBQWtDO0FBQ2xDLEFBQUEsU0FBUyxDQUFDO0VBQ04sVUFBVSxFQUFFLGtCQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsbUJBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLO0VBQ3hFLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFNLG1CQUFLO0VBQzVCLE9BQU8sRUFBRSxFQUFFO0VBQ1gsZ0JBQWdCLEVYakhaLE9BQU87RVdpSGUsWUFBWSxFQUN6Qzs7QUFFRyxBQUFBLFNBQVMsQUFBQSxRQUFRLENBQUEsQUFBQSxLQUFDLEFBQUEsRUFBTztFQUFFLHdDQUF3QztFQUMvRCx1QkFBdUI7RUFDdkIsS0FBSyxFQUFFLGdCQUFnQjtFQUN2QixNQUFNLEVBQUUsZUFBZTtFQUN2QixVQUFVLEVBQUUsWUFBWTtFQUN4QixTQUFTLEVBQUUsWUFBWTtFQUN2QixnQkFBZ0IsRUFBRSxHQUFHO0VBQ3JCLFFBQVEsRUFBRSxNQUFNLEdBQ25COztBQUNMLElBQUk7QUFFSixtREFBbUQ7QUFDbkQscUJBQXFCO0FBQ3JCLGtCQUFrQjtBQUNsQixBQUFBLFFBQVEsQ0FBQztFQUNMLGdCQUFnQixFQUFFLE9BQU87RUFDekIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE9BQU8sRUFBRSxFQUFFO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixPQUFPLEVBQUUsS0FBSztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLE1BQU07RUFDZixhQUFhLEVBQUUsZ0JBQWdCO0VBQ25DLG9EQUFvRCxFQUNuRDs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNMLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFFBQVEsRUFBRSxNQUFNLEdBQ25COztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixHQUFHLEVBQUUsR0FBRztFQUNSLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFVBQVUsRUFBRSxLQUFLLEdBQ3BCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ1QseUJBQXlCO0VBQ3JCLFFBQVEsRUFBRSxJQUFJO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsS0FBSztFQUNaLDhCQUE4QixFQUlqQztFQWJELEFBVUksUUFWSSxDQVVKLElBQUksQ0FBQztJQUNELFlBQVksRUFBRSxLQUFLLEdBQ3RCOztBQU9MLEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxDQUFDO0VBQ1IsTUFBTSxFQUFFLENBQUM7RUFDVCxXQUFXLEVBQUUsc0JBQXNCO0VBQ25DLFlBQVksRUFBRSxxQkFBcUI7RUFDbkMsYUFBYSxFQUFFLGtCQUFrQjtFQUNqQyxNQUFNLEVBQUUsU0FBUyxHQUNwQjs7QUFHRCxtREFBbUQ7QUFDbkQseUJBQXlCO0FBQ3pCLHNCQUFzQjtBQUN0QixBQUFBLFVBQVUsQ0FBQztFQUNQLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxrQkFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUN4QyxNQUFNLEVWbktJLEtBQUssQ0FBQyxHQUFHLENEekVkLE9BQXdCO0VXNk83QixPQUFPLEVBdlBPLEVBQUU7RUF3UGhCLFVBQVUsRVhyTU4sT0FBTyxHV3NNZDs7QUFHRCxBQUFzQixVQUFaLEFBQUEsU0FBUyxHQUFHLFVBQVUsQ0FBQztFQUM3QixVQUFVLEVBQUUsa0JBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUUsS0FBSSxDQUFFLEtBQUksQ0FBQyxJQUFJO0VBQ25GLFVBQVUsRUFBRSxlQUFlLEdBQzlCOztBQUNELEFBQW9CLFVBQVYsQUFBQSxTQUFTLENBQUMsUUFBUSxDQUFDO0VBQUMsZ0JBQWdCLEVYbk96QyxPQUFPO0VXbU95QyxLQUFLLEVYN01sRCxLQUFPLEdXNk04RDs7QUFDN0UsQUFBNkIsVUFBbkIsQUFBQSxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBRTtFQUFDLGdCQUFnQixFWHBPbkQsT0FBTyxHV29Pb0Q7O0FBQ2hFLEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRVY1S0ssSUFBSTtFVTZLZix3REFBd0Q7RUFDeEQsS0FBSyxFWHJORCx5QkFBTztFV3NOWCxVQUFVLEVYeFBMLE9BQTBEO0VXeVAvRCxTQUFTLEVBQUUsSUFBaUI7RUFDNUIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSTtFUjNRM0MscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR1F5UXBCOztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFVBQVU7RUFDbkIsWUFBWSxFQUFFLEtBQUs7RUFDbkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBRUcsQUFBVyxRQUFILEdBQUcsR0FBRyxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsR0FBRyxHQUNiOztBQUVMLEFBQUEsV0FBVyxDQUFDO0VBQ1IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixHQUFHLEVBQUUsR0FBRztFQUNSLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGdCQUFnQixFQUFFLFdBQVcsR0FDaEM7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVWOU1RLElBQUk7RVUrTWYsSUFBSSxFVmhOSyxHQUFHO0VVaU5aLEtBQUssRVZqTkksR0FBRztFVWtOWixNQUFNLEVBQUUsSUFBMkI7RUFDbkMsUUFBUSxFQUFFLE1BQU0sR0FFbkI7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVWdk5RLElBQUk7RVV3TmYsSUFBSSxFVnpOSyxHQUFHO0VVME5aLEtBQUssRVYxTkksR0FBRztFVTJOWixNQUFNLEVWM05HLEdBQUc7RVU0TlosUUFBUSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsSUFBSTtFQUNkLDBCQUEwQixFQUFFLEtBQUs7RUFDakMsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxPQUFPO0VBQ25CLCtEQUErRDtFQUUvRDtxREFDaUQsRUFDcEQ7O0FBRUQsQUFBUyxRQUFELENBQUMsUUFBUSxDQUFDO0VBQ2QsS0FBSyxFWGxSRCx5QkFBTztFV21SWCxXQUFXLEVBQUMsR0FBRztFQUNmLGdCQUFnQixFWHRUWCxPQUEwRCxHV3VUbEU7O0FBRUcsQUFBUyxRQUFELENBQUMsUUFBUSxBQUFBLE1BQU0sQ0FBQztFQUNwQixLQUFLLEVBQUUsS0FBSztFQUNaLGdCQUFnQixFQUFFLHlCQUF5QixDQUFBLFVBQVUsR0FDeEQ7O0FBR0wsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsTUFBTTtFQUNoQixJQUFJLEVWelBLLEdBQUc7RVUwUFosS0FBSyxFVjFQSSxHQUFHO0VVMlBaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRVY1UEcsR0FBRztFVTZQWixNQUFNLEVWM1BLLElBQUk7RVU0UGYsWUFBWSxFQUFFLEdBQUc7RUFDakIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBRSxJQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VBQ3hDLGdDQUFnQztFQUNoQyxVQUFVLEVBQUcsS0FBSztFQUFHLGlDQUFpQyxFQUN6RDs7QUFFRCxBQUFBLFVBQVUsQUFBQSxRQUFRLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxRQUFRO0VBQzFCLGtCQUFrQixFQUFFLFlBQVk7RUFDaEMsU0FBUyxFQUFFLGVBQWM7RUFDekIsVUFBVSxFQUFFLGNBQWM7RUFDMUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUt2RDtFQVhELEFBUU0sVUFSSSxBQUFBLFFBQVEsR0FRWixZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFHTCxBQUFBLFVBQVUsQUFBQSxTQUFTLEVBQUUsQUFBQSxRQUFRLEFBQUEsU0FBUyxDQUFDO0VBQ25DLFVBQVUsRVgxVkwsT0FBMEQsQ1cwVnhCLFVBQVUsR0FDcEQ7O0FBTUQsWUFBWTtBQUNaLEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsQ0FBQztFQUNSLFdBQVcsRUFBRSxzQkFBc0I7RUFDbkMsWUFBWSxFQUFFLG1CQUFtQjtFQUNqQyxhQUFhLEVBQUUsa0JBQWtCO0VBQ2pDLE1BQU0sRUFBRSxTQUFTLEdBQ3BCOztBQUVELHdCQUF3QjtBQUN4QixBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxJQUFJO0VBQ1YsR0FBRyxFQUFFLElBQUk7RUFDVCxNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxHQUFHO0VBQ1YsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsU0FBUyxHQUNwQjs7QUFHRCwwQkFBMEI7QUFDMUIsQUFBQSxhQUFhLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLEdBQUcsRUFBRSxJQUFJO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixLQUFLLEVBQUUsR0FBRztFQUNWLGdCQUFnQixFQUFFLFdBQVc7RUFDN0IsTUFBTSxFQUFFLFNBQVMsR0FDcEI7O0FBQ0Qsc0JBQXNCO0FBQ3RCLEFBQUEsYUFBYSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLENBQUM7RUFDUixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLEdBQUc7RUFDWCxnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxTQUFTLEdBQ3BCOztBQUNELHVCQUF1QjtBQUN2QixBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsSUFBSTtFQUNULE1BQU0sRUFBRSxHQUFHO0VBQ1gsZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixNQUFNLEVBQUUsU0FBUyxHQUNwQjs7QUFHRCx5QkFBeUI7QUFHekIsQUFBQSxVQUFVLEFBQUEsWUFBWSxDQUFDO0VBQ25CLFlBQVksRUFBRSxXQUFXO0VBQ3pCLGFBQWEsRUFBRSxHQUFHO0VBRWxCLFVBQVUsRUFBRSxLQUFnQjtFQUM1QixVQUFVLEVBQUUseURBQWlHLEdBNENoSDtFQWpERCxBQVNJLFVBVE0sQUFBQSxZQUFZLENBU2xCLFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxLQUFLO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsc0JBQXNCLEVBQUUsR0FBRyxHQUU5QjtFQWRMLEFBZUksVUFmTSxBQUFBLFlBQVksQ0FlbEIsUUFBUSxDQUFDO0lBQ0wsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUFqQkwsQUFtQmEsVUFuQkgsQUFBQSxZQUFZLENBbUJsQixRQUFRLENBQUMsUUFBUSxDQUFDO0lBQ2QsS0FBSyxFQUFFLEtBQUs7SUFDWixnQkFBZ0IsRVhsWmhCLE9BQU8sR1dtWlY7RUF0QkwsQUF3QmEsVUF4QkgsQUFBQSxZQUFZLENBd0JsQixRQUFRLENBQUMsUUFBUSxBQUFBLE1BQU0sQ0FBQztJQUNwQixLQUFLLEVYdFpMLE9BQU87SVd1WlAsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxHQUNsRDtFQTNCTCxBQTZCSSxVQTdCTSxBQUFBLFlBQVksQ0E2QmxCLFFBQVEsQ0FBQztJQUNMLFVBQVUsRVgzWlYsT0FBTztJVzJaYSxpQ0FBaUM7SUFDckQsVUFBVSxFQUFFLFdBQVcsR0FDMUI7RUFoQ0wsQUFtQ0ksVUFuQ00sQUFBQSxZQUFZLENBbUNsQixRQUFRLENBQUM7SUFDTCxhQUFhLEVBQUUsa0JBQWtCLEdBQ3BDO0VBckNMLEFBeUNJLFVBekNNLEFBQUEsWUFBWSxBQXlDbEIsU0FBVSxFQXpDZCxBQXlDZ0IsVUF6Q04sQUFBQSxZQUFZLENBeUNOLFFBQVEsQUFBQSxTQUFTLENBQUM7SUFDMUIsVUFBVSxFWHZhVixPQUFPLENXdWFZLFVBQVU7SUFDN0IsWUFBWSxFQUFFLEtBQUssR0FDdEI7RUE1Q0wsQUE4Q0ksVUE5Q00sQUFBQSxZQUFZLENBOENsQixZQUFZLENBQUM7SUFDVCxtQkFBbUIsRUFBRSxrQkFBZSxHQUN2Qzs7QUFFTCxtREFBbUQ7QUFDbkQsbURBQW1EO0FBQ25ELDhCQUE4QjtBQUM5QixBQUFBLFVBQVUsQ0FBQztFQUNQLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUF2ZU8sRUFBRTtFQXdlaEIsZ0JBQWdCLEVYcmJaLE9BQU8sR1dzYmQ7O0FBUUQsQUFBQSxRQUFRLENBQUM7RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLFFBQVEsRUFBRSxNQUFNLEdBQ25COztBQUVELEFBQUEsUUFBUSxDQUFDO0VBQ0wsUUFBUSxFQUFFLElBQUk7RUFDZCwwQkFBMEIsRUFBRSxLQUFLO0VBQ2pDLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFFWjtxREFDaUQsRUFDcEQ7O0FBTUQsbURBQW1EO0FBR25ELGVBQWU7QUFDZixBQUFBLFNBQVMsQ0FBQztFQUNOLDBCQUEwQixFQUFFLElBQUk7RUFDaEMsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QiwyQkFBMkIsRUFBRSxJQUFJO0VBQ2pDLG1CQUFtQixFQUFFLElBQUksR0FDNUI7O0FBRUQsa0JBQWtCLENBQWxCLE1BQWtCO0VBQ2QsQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7SUFDVixpQkFBaUIsRUFBRSxzQkFBbUI7SUFDdEMsU0FBUyxFQUFFLHNCQUFtQjtFQUdsQyxBQUFBLEdBQUc7SUFDQyxPQUFPLEVBQUUsQ0FBQzs7QUFJbEIsVUFBVSxDQUFWLE1BQVU7RUFDTixBQUFBLElBQUk7SUFDQSxPQUFPLEVBQUUsQ0FBQztJQUNWLHdEQUF3RDtFQUc1RCxBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQzs7QUFJbEIsZ0JBQWdCO0FBQ2hCLEFBQUEsT0FBTyxDQUFDO0VBQ0osa0JBQWtCLEVBQUUsS0FBSztFQUN6QixjQUFjLEVBQUUsTUFBTSxHQUN6Qjs7QUFHRCxXQUFXO0FBRVgsQUFBQSxRQUFRLENBQUM7RUFDTCxTQUFTLEVBQUUsVUFBVSxHQUN4Qjs7QUFFRCxVQUFVLENBQVYsT0FBVTtFQUNOLEFBQUEsSUFBSTtJQUNBLE9BQU8sRUFBQyxDQUFDO0lBQ0osY0FBYyxFQUFFLFdBQVc7SUFBRSxNQUFNLEVBQUUsV0FBVztFQUV6RCxBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQzs7QUFJbEIsNEJBQTRCO0FBRTVCLEFBQUEsUUFBUSxDQUFDO0VBQ0wsU0FBUyxFQUFFLCtCQUErQixHQUM3Qzs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsY0FBYyxFQUFFLGVBQWUsR0FDbEM7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixnQkFBZ0IsRUFBRSxRQUFRO0VBQzFCLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsY0FBYyxFQUFFLFNBQVM7RUFDekIseUJBQXlCLEVBQUUsUUFBUSxHQUN0Qzs7QUFDRCxBQUFBLGVBQWUsQ0FBQztFQUNaLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsY0FBYyxFQUFFLFVBQVU7RUFDMUIseUJBQXlCLEVBQUUsUUFBUSxHQUN0Qzs7QUFDRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2Qsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixjQUFjLEVBQUUsV0FBVztFQUMzQix5QkFBeUIsRUFBRSxRQUFRLEdBRXRDOztBQUNELEFBQUEsZUFBZSxDQUFDO0VBQ1osZ0JBQWdCLEVBQUUsV0FBVztFQUM3QixrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLHlCQUF5QixFQUFFLFFBQVEsR0FDdEM7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLGdCQUFnQixFQUFFLFdBQVc7RUFDN0Isa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixtQkFBbUIsRUFBRSxPQUFPO0VBQzVCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLHlCQUF5QixFQUFFLFFBQVEsR0FDdEM7O0FBQ0QsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLGdCQUFnQixFQUFFLFFBQVE7RUFDMUIsa0JBQWtCLEVBQUMsSUFBSTtFQUN2QixjQUFjLEVBQUUsVUFBVTtFQUMxQix5QkFBeUIsRUFBRSxRQUFRLEdBQ3RDOztBQUNELEFBQUEsa0JBQWtCLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxVQUFVO0VBQzVCLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsbUJBQW1CLEVBQUUsT0FBTztFQUM1QixjQUFjLEVBQUUsVUFBVTtFQUMxQix5QkFBeUIsRUFBRSxRQUFRLEdBQ3RDOztBQUNELFVBQVUsQ0FBVixTQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsU0FBUyxFQUFFLHdCQUFzQixDQUFDLFFBQVE7SUFDMUMsTUFBTSxFQUFFLGlDQUF5QztFQUVyRCxBQUFBLEdBQUc7SUFDQyxNQUFNLEVBQUUsOENBQTJDO0VBRXZELEFBQUEsRUFBRTs7QUFHTixVQUFVLENBQVYsVUFBVTtFQUNOLEFBQUEsSUFBSTtJQUlBLHNHQUFzRztJQUN0RyxxQkFBcUI7RUFFekIsQUFBQSxHQUFHO0lBRUMsTUFBTSxFQUFFLGVBQWU7SUFDdkIseUNBQXlDO0VBRTdDLEFBQUEsR0FBRztJQUVDLHVDQUF1QztFQUczQyxBQUFBLEdBQUc7SUFDQyxnREFBZ0Q7SUFFaEQsNkZBQTZGO0VBR2pHLEFBQUEsRUFBRTs7QUFHTixVQUFVLENBQVYsU0FBVTtFQUNOLEFBQUEsSUFBSTtJQUNBLG1CQUFtQjtJQUNuQixrQ0FBa0M7SUFDbEMsU0FBUyxFQUFFLFdBQVc7RUFHMUIsQUFBQSxFQUFFOztBQUdOLFVBQVUsQ0FBVixVQUFVO0VBQ04sQUFBQSxJQUFJO0lBRUEsU0FBUyxFQUFFLFdBQVc7RUFHMUIsQUFBQSxFQUFFOztBQUdOLFVBQVUsQ0FBVixXQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsaUNBQWlDO0lBQ2pDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztFQUVqQyxBQUFBLEdBQUc7SUFDQyxxQ0FBcUM7SUFDckMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxhQUFhO0VBR3ZDLEFBQUEsR0FBRztJQUNDLHFDQUFxQztFQUl6QyxBQUFBLEdBQUc7SUFDQyxxQ0FBcUM7SUFDckMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxZQUFhO0VBRXZDLEFBQUEsRUFBRTs7QUFJTjs7OztHQUlHO0FBRUgsVUFBVSxDQUFWLGNBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxTQUFTLEVBQUUsbUJBQWtCO0VBR2pDLEFBQUEsRUFBRTtJQUNFLFNBQVMsRUFBRSxlQUFjOztBQUdqQyxVQUFVLENBQVYsZUFBVTtFQUNOLEFBQUEsSUFBSTtJQUNBLFNBQVMsRUFBRSxrQkFBaUIsQ0FBQyx3QkFBcUI7RUFHdEQsQUFBQSxFQUFFO0lBRUUsU0FBUyxFQUFFLGVBQWMsQ0FBQyx1QkFBb0I7O0FBR3RELEFBQUEsVUFBVSxDQUFBO0VBQ04sa0JBQWtCLEVBQUUsRUFBRTtFQUN0QixjQUFjLEVBQUUsU0FBUztFQUN6Qix5QkFBeUIsRUFBRSxPQUFPLEdBRXJDOztBQUNELFVBQVUsQ0FBVixTQUFVO0VBQ04sQUFBQSxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFZCxBQUFBLEVBQUU7SUFDRSxPQUFPLEVBQUUsQ0FBQzs7QUFNbEI7O0VBRUU7QUFHRixBQUFBLFlBQVksQ0FBQztFQUNULGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxrQkFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSTtFQUN4QyxNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLGdCQUFnQixFQUFFLEtBQUssR0FDMUI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLEtBQUssRVgzc0JELE9BQU87RVc0c0JYLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLFlBQVksRUFBRSxLQUFLO0VBQ25CLFdBQVcsRUFBQyxNQUFNLEdBQ3JCOztBQUtELEFBQUEsVUFBVSxDQUFDO0VBQ1AsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQyxTQUFTLEVBQUUsS0FBSztFQUNoQixRQUFRLEVBQUUsSUFBSTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxJQUFJO0VBQ1QsSUFBSSxFQUFFLEdBQUc7RUFDVCxLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBRVgsZ0JBQWdCLEVBQUUsSUFBSTtFQVN0Qjs7T0FFRyxFQUNOO0VBdEJELEFBWUksVUFaTSxDQVlOLENBQUMsQ0FBQztJQUNFLE1BQU0sRUFBRSxHQUFHO0lBQ1gsWUFBWSxFQUFFLEtBQUs7SUFDbkIsK0JBQStCO0lBQy9CLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLHFCQUFxQixHQUNsRDs7QUFPTCxBQUFBLFVBQVUsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsWUFBWSxBQUFBLFFBQVEsQ0FBQztFQUVqQixLQUFLLEVBQUUsZ0JBQWdCO0VBQ3ZCLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsVUFBVSxFQUFFLGNBQWM7RUFDMUIsU0FBUyxFQUFFLGNBQWM7RUFDekIsUUFBUSxFQUFFLE1BQU0sR0FFbkI7O0FBRUcsQUFBdUIsWUFBWCxBQUFBLFFBQVEsR0FBRyxtQkFBbUI7QUFDMUMsQUFBdUIsWUFBWCxBQUFBLFFBQVEsR0FBRyxZQUFZLENBQUM7RUFDaEMsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBQ0wsWUFBWTtBQUNaLEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsV0FBVyxFQUFFLHNCQUFzQjtFQUNuQyxZQUFZLEVBQUUscUJBQXFCO0VBQ25DLGFBQWEsRUFBRSxnQkFBZ0IsR0FDbEM7O0FBRUQsbURBQW1EO0FBQ25ELGdCQUFnQjtBQUNoQixBQUFBLGFBQWEsQ0FBQztFQUFFLG1CQUFtQjtFQUMvQixRQUFRLEVBQUUsS0FBSztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFWHJ4Qk4sT0FBTztFV3N4QlgsVUFBVSxFQUFFLHNCQUFzQjtFQUNsQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ1gxeUJwQixPQUFPO0VXNnlCUixVQUFVLEVBQUUsbUJBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO0VBQzNDLE1BQU0sRUFBRSxpQkFBaUIsR0FDNUI7O0FBR0Q7OztHQUdHO0FBQ0g7OztHQUdHO0FBT0gsQUFBQSxXQUFXLENBQUM7RUFDUixPQUFPLEVBQUMsSUFBSTtFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsR0FBRyxFQUFFLENBQUM7RUFDTixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJO0VBRVgsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLFFBQVEsRUFBRSxRQUFRO0VSeDJCbEIscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR1FzMkJwQjs7QUFFRCxtREFBbUQ7QUFFbkQsbURBQW1EO0FBQ25ELGlCQUFpQjtBQUNqQixBQUFBLGdCQUFnQixDQUFDO0VBQ2IsYUFBYSxFQUFFLEtBQUs7RUFDcEIsVUFBVSxFQUFFLGtCQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJO0VBQ3hDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDWHAwQmIsbUJBQU87RVdxMEJYLE9BQU8sRUFyM0JPLEVBQUU7RUFzM0JoQixnQkFBZ0IsRVhuMEJaLE9BQU87RVdvMEJYLFFBQVEsRUFBRSxNQUFNLEdBQ25COztBQUdELEFBQUEsY0FBYyxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEVBQUU7RUFDWCxLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLE1BQU0sR0FFbkI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsVUFBVTtFQUNuQixZQUFZLEVBQUUsS0FBSztFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFHRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixHQUFHLEVBQUUsR0FBRztFQUNSLE9BQU8sRUFBRSxVQUFVO0VBQ25CLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGdCQUFnQixFQUFFLE9BQU8sR0FDNUI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQkFBZ0I7RUFDdEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLElBQUk7RUFDVCxJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxHQUFHO0VBQ1YsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTSxHQUduQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFFBQVEsRUFBRSxJQUFJO0VBQ2QsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLGdCQUFnQixFWHIzQlosT0FBTztFV3MzQlgsT0FBTyxFQUFFLEdBQUcsR0FDZjs7QUFDRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsR0FBRztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osWUFBWSxFQUFFLEdBQUc7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENYcjRCakIsbUJBQU87RVdzNEJYLFVBQVUsRVhuNEJOLE9BQU87RVdvNEJYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsZUFBZSxFQUFFLGFBQWEsR0FDakM7O0FBRUQsbURBQW1EO0FBQ25ELG1EQUFtRDtBQUNuRCxxQkFBcUI7QUFDckIsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQix1QkFBdUI7RUFDdkIsVUFBVSxFVm40QkUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWU7RVVvNEJ2QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEtBQUssQ1hqNUJmLG1CQUFPO0VXazVCWCxLQUFLLEVYbDVCRCxtQkFBTztFV201QlgsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQW9DZjtFQTFDRCxBQVFJLHNCQVJrQixDQVFsQixhQUFhLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsbUJBQW1CLEdBQ3JDO0VBYkwsQUFlSSxzQkFma0IsQ0FlbEIsWUFBWSxDQUFDO0lBQ1QsT0FBTyxFQUFFLFVBQVU7SUFDbkIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFwQkwsQUFzQkksc0JBdEJrQixDQXNCbEIsV0FBVyxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLEdBQUc7SUFDVixHQUFHLEVBQUUsR0FBRztJQUNSLE9BQU8sRUFBRSxVQUFVO0lBQ25CLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGtDQUFrQyxFQUNyQztFQTdCTCxBQStCSSxzQkEvQmtCLENBK0JsQixpQkFBaUIsQ0FBQztJQUNkLFFBQVEsRUFBRSxNQUFNLEdBQ25CO0VBakNMLEFBbUNJLHNCQW5Da0IsQ0FtQ2xCLFlBQVksQ0FBQztJQUNULE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLElBQUksR0FDakI7O0FBVUwsbURBQW1EO0FBQ25ELGlCQUFpQjtBQUNqQixBQUFBLHVCQUF1QixDQUFDO0VBRXBCLDBCQUEwQjtFQUMxQixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVWeDdCRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFVXk3QnZDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDWHQ4QmYsbUJBQU87RVd1OEJYLFFBQVEsRUFBQyxNQUFNO0VBRWYsS0FBSyxFWHo4QkQsbUJBQU8sR1cwOEJkOztBQUdELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsUUFBUSxFQUFFLE1BQU0sR0FFbkI7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQTtFQUNqQixPQUFPLEVBQUUsVUFBVTtFQUNuQixZQUFZLEVBQUUsS0FBSztFQUNuQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFHRCxBQUFBLHdCQUF3QixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsR0FBRyxFQUFFLEdBQUc7RUFDUixPQUFPLEVBQUUsVUFBVTtFQUNuQixVQUFVLEVBQUUsS0FBSztFQUNqQixnQkFBZ0IsRUFBRSxXQUFXLEdBQ2hDOztBQUtELEFBQUEscUJBQXFCLENBQUU7RUFFbkIsT0FBTyxFQUFFLEtBQUssR0FDakI7O0FBQ0QsQUFBQSxxQkFBcUIsQ0FBRTtFQUVuQixLQUFLLEVBQUUsS0FBSztFQUNaLFVBQVUsRUFBRSxXQUFXO0VBQ3ZCLFFBQVEsRUFBQyxRQUFRLEdBQ3BCOztBQUVELGFBQWE7QUFDYixrQkFBa0I7QUFFbEIsQUFBQSxlQUFlLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLE9BQU8sR0FZdkI7RUFmRCxBQUtJLGVBTFcsQ0FLWCxTQUFTLENBQUU7SUFBQyxPQUFPLEVBQUUsWUFBWTtJQUN6QixTQUFTLEVBQUUsS0FBSztJQUNoQixjQUFjLEVBQUMsR0FBRztJQUNsQixTQUFTLEVBQUUsQ0FBQztJQUVaLE1BQU0sRUFBRSxLQUFLO0lBQ2IsV0FBVyxFQUFDLENBQUMsR0FFeEI7O0FBR0QsQUFDSSxTQURLLENBQ0wsaUNBQWlDLENBQUM7RUFDOUIsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBSEwsQUFJSSxTQUpLLENBSUwsNkJBQTZCO0FBSmpDLEFBS0ksU0FMSyxDQUtMLHFCQUFxQixDQUFDO0VBQ2xCLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQVBMLEFBUUksU0FSSyxDQVFMLDJCQUEyQjtBQVIvQixBQVNJLFNBVEssQ0FTTCxtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFYTCxBQVlJLFNBWkssQ0FZTCwyQkFBMkIsQ0FBQztFQUN4QixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFFTCxlQUFlO0FBQ2YsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxNQUFNLEVBQUUsQ0FBQztFQUNULEtBQUssRUFBRSxDQUFDO0VBQ1IsZ0JBQWdCLEVBQUUsb0JBQWlCO0VBRW5DLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUNELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLFFBQVEsRUFBRSxNQUFNLEdBV25CO0VBakJELEFBUUksZ0JBUlksQ0FRWixNQUFNLENBQUM7SUFDSCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBQyxJQUFJO0lBQ1YsTUFBTSxFQUFFLElBQUksR0FBSTtFQVh4QixBQVlJLGdCQVpZLENBWVosZUFBZSxDQUFDO0lBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENYamtDcEIsT0FBTztJV2trQ0osa0JBQWtCLEVBRXJCOztBQUlMLEFBQWdCLE1BQVYsQUFBQSxTQUFTLENBQUMsaUJBQWlCLENBQUM7RUFDOUIsT0FBTyxFQUFFLEtBQUs7RUFDZCxPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUFDRDs7R0FFRztBQUVILFVBQVU7QUFDVjtxQ0FDcUM7QUFDckMsQUFBQSxXQUFXLENBQUM7RVIvbUNSLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdRNm1DcEI7O0FBRUQsQUFBQSxxQkFBcUIsRUFBRSxBQUFBLG9CQUFvQixDQUFDO0VBQ3hDLHFCQUFxQjtFQUNyQixVQUFVLEVBQUUsV0FBVztFQUN2QixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsZUFBZTtFQUMzQixZQUFZLEVBQUUsZUFBZSxHQXFGaEM7RUExRkQsQUFPSSxxQkFQaUIsQUFPbEIsVUFBWSxFQVBRLEFBT25CLG9CQVB1QyxBQU94QyxVQUFZLENBQUM7SUFDUixVQUFVLEVBQUUsVUFBVTtJQUN0QixVQUFVLEVBQUcsSUFBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQWU7SUFDekMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFlO0lBQ3hDLFVBQVUsRUFBRSxlQUFlLEdBQzlCO0VBWkwsQUFjTSxxQkFkZSxHQWNmLGtCQUFrQixFQWRELEFBY2pCLG9CQWRxQyxHQWNyQyxrQkFBa0IsQ0FBQztJQUNqQixVQUFVLEVBQUUsS0FBSztJQUNqQixRQUFRLEVBQUUsSUFBSTtJQUNkLDBCQUEwQixFQUFFLEtBQUs7SUFDakMsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSSxHQUlmO0VBdkJMLEFBeUJJLHFCQXpCaUIsQUF5QmxCLFFBQVUsRUF6QlUsQUF5Qm5CLG9CQXpCdUMsQUF5QnhDLFFBQVUsQ0FBQztJQUNOLDJDQUEyQyxFQUk5QztJQTlCTCxBQTJCVSxxQkEzQlcsQUF5QmxCLFFBQVUsR0FFSCxrQkFBa0IsRUEzQkwsQUEyQmIsb0JBM0JpQyxBQXlCeEMsUUFBVSxHQUVILGtCQUFrQixDQUFDO01BQ2pCLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBN0JULEFBaUNNLHFCQWpDZSxHQWlDZix3QkFBd0IsRUFqQ1AsQUFpQ2pCLG9CQWpDcUMsR0FpQ3JDLHdCQUF3QixDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBbkNMLEFBeUNVLHFCQXpDVyxBQXVDbEIsV0FBYSxHQUVOLHdCQUF3QixFQXpDWCxBQXlDYixvQkF6Q2lDLEFBdUN4QyxXQUFhLEdBRU4sd0JBQXdCLENBQUM7SUFDdkIsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFSUSxLQUFJO0lBU2hCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQVhPLElBQUk7SUFZaEIsTUFBTSxFQUFFLElBQUk7SUFFWixVQUFVLEVYem9DakIsT0FBTztJVzBvQ0EsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsS0FBSztJQUVkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU07SUFDdkIsV0FBVyxFQUFFLE1BQU07SUFLbkI7OztlQUdHLEVBQ047SUFsRVQsQUEyRFkscUJBM0RTLEFBdUNsQixXQUFhLEdBRU4sd0JBQXdCLENBa0J0QixTQUFTLEVBM0RFLEFBMkRYLG9CQTNEK0IsQUF1Q3hDLFdBQWEsR0FFTix3QkFBd0IsQ0FrQnRCLFNBQVMsQ0FBQztNQUNOLFlBQVksRUFBRSxXQUFXLEdBQzVCO0VBN0RiLEFBb0VzQixxQkFwRUQsQUF1Q2xCLFdBQWEsQUE2QlQsVUFBWSxHQUFHLHdCQUF3QixFQXBFdkIsQUFvRUQsb0JBcEVxQixBQXVDeEMsV0FBYSxBQTZCVCxVQUFZLEdBQUcsd0JBQXdCLENBQUM7SUFDbkMsSUFBSSxFQUFFLEdBQUcsR0FDWjtFQXRFVCxBQXdFUSxxQkF4RWEsQUF1Q2xCLFdBQWEsQUFpQ1QsWUFBYyxFQXhFRSxBQXdFZixvQkF4RW1DLEFBdUN4QyxXQUFhLEFBaUNULFlBQWMsQ0FBQztJQUVWLEtBQUssRUFBRSxjQUFjO0lBQ3JCLHFCQUFxQjtJQUNyQiwwQkFBMEIsRUFHN0I7RUEvRVQsQUFrRmMscUJBbEZPLEFBdUNsQixXQUFhLEFBMENULFVBQVksR0FDTCx3QkFBd0IsRUFsRmYsQUFrRlQsb0JBbEY2QixBQXVDeEMsV0FBYSxBQTBDVCxVQUFZLEdBQ0wsd0JBQXdCLENBQUM7SUFDdkIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUMsQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDO0lBQ1Ysa0JBQWtCLEVBQ3JCOztBQUtiLEFBQUEsaUJBQWlCLENBQUM7RUFNZCxVQUFVLEVYcHFDQSxPQUFPO0VXcXFDakIsMEJBQTBCO0VBQzFCLFlBQVksRUFBRSxHQUFHLENBQUMsS0FBSyxDWHJxQ25CLE9BQU87RVdzcUNYLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLGFBQWEsRUFBRSxLQUFLLEdBZ0R2QjtFQTFERCxBQUVJLGlCQUZhLEFBRWIsU0FBVSxDQUFDO0lBQ1AsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFKTCxBQVlJLGlCQVphLENBWWIsZUFBZSxDQUFDO0lBQ1osVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVYbnNDYixPQUFPO0lXb3NDSixLQUFLLEVYOXFDTCx3QkFBTztJVytxQ1AsUUFBUSxFQUFFLE1BQU07SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ1hyckN2QixrQkFBTyxHVzBzQ1Y7SUExQ0wsQUFZSSxpQkFaYSxDQVliLGVBQWUsQUFXWCxNQUFPLENBQUM7TUFDSjs0Q0FDZ0M7TUFDaEMsV0FBVyxFQUFFLFdBQVc7TUFDeEIsT0FBTyxFQUFFLE9BQU87TUFDaEIsU0FBUyxFQUFFLE9BQU87TUFDbEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLEdBQUc7TUFDWixRQUFRLEVBQUUsUUFBUTtNQUNsQixHQUFHLEVBQUUsQ0FBQztNQUNOLEtBQUssRUFBRSxLQUFLO01BQ1osT0FBTyxFQUFFLEdBQUc7TUFDWixVQUFVLEVYdHRDakIsT0FBTyxHV3V0Q0g7SUFwQ1QsQUFZSSxpQkFaYSxDQVliLGVBQWUsQUEwQlgsTUFBTyxDQUFDO01BQ0osS0FBSyxFWHBzQ1QsT0FBTztNV3FzQ0gsVUFBVSxFWHR1Q2IsT0FBMEQsR1d1dUMxRDtFQXpDVCxBQTRDSSxpQkE1Q2EsQ0E0Q2IsYUFBYSxDQUFDO0lBQ1YsVUFBVSxFQUFFLEdBQUcsR0FDbEI7RUE5Q0wsQUFpRFUsaUJBakRPLEFBZ0RiLFVBQVcsR0FDTCxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQW5EVCxBQXFEVSxpQkFyRE8sQUFnRGIsVUFBVyxHQUtMLGVBQWUsQUFBQSxNQUFNLENBQUM7SUFFcEIsT0FBTyxFQUFFLE9BQU8sR0FDbkI7O0FBR1QsQUFBQSxLQUFLLENBQUM7RUFDRixrQkFBa0IsRUFBRSxJQUFJLEdBQzNCOztBQUlELEFBQUEsc0JBQXNCLENBQUM7RUFFbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUMsS0FBSyxHQUNoQjs7QUN6eENEOzs7RUFHRTtBQU1GLG1EQUFtRDtBQUNuRCx5QkFBeUI7QUFDekIsQUFBQSxhQUFhLENBQUM7RUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFJOztBQUV0Qzs7R0FFRztBQUVILEFBQUEsVUFBVSxDQUFDO0VUWlAscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUk7RVNxRWpCOztPQUVHLEVBQ047RUFoRUQsQUFHTSxVQUhJLEdBR0osWUFBWSxDQUFDO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRVhzRUMsSUFBSTtJV3JFWCx3REFBd0Q7SUFDeEQsUUFBUSxFQUFFLE1BQU07SUFDaEIsOEJBQThCO0lBQzlCLFNBQVMsRUFBRSxJQUFpQixHQUMvQjtFQVpMLEFBY00sVUFkSSxHQWNKLG1CQUFtQixDQUFDO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRVg2REksSUFBSTtJVzVEWCxJQUFJLEVYMkRDLEdBQUc7SVcxRFIsS0FBSyxFWDBEQSxHQUFHO0lXekRSLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRVh3REQsR0FBRyxHVy9DWDtJQTdCTCxBQXVCVSxVQXZCQSxHQWNKLG1CQUFtQixHQVNmLFVBQVUsQ0FBQztNQUNULFFBQVEsRUFBRSxJQUFJO01BQ2QsMEJBQTBCLEVBQUUsS0FBSztNQUNqQyxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUE1QlQsQUFnQ1UsVUFoQ0EsQUErQk4sZ0JBQWlCLEdBQ1gsbUJBQW1CLENBQUM7SUFDbEIsTUFBTSxFQUFFLElBQTJCLEdBQ3RDO0VBbENULEFBb0NVLFVBcENBLEFBK0JOLGdCQUFpQixHQUtYLFlBQVksQ0FBQztJQUNYLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFWHdDSCxJQUFJLEdXdkNWO0VBdkNULEFBMkNVLFVBM0NBLEFBMENOLGNBQWUsR0FDVCxZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQTdDVCxBQStDVSxVQS9DQSxBQTBDTixjQUFlLEdBS1QsbUJBQW1CLENBQUM7SUFDbEIsR0FBRyxFQUFFLENBQUMsR0FDVDtFQWpEVCxBQW9EUSxVQXBERSxHQW9ERixZQUFZLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRVhvQkMsR0FBRztJV25CUixLQUFLLEVYbUJBLEdBQUc7SVdsQlIsTUFBTSxFWGtCRCxHQUFHO0lXakJSLE1BQU0sRVhtQkMsSUFBSSxHV2xCZDs7QUFRTCxBQUFBLFVBQVUsQUFBQSxRQUFRLENBQUM7RUFDZixnQkFBZ0IsRUFBRSxRQUFRO0VBQzFCLGtCQUFrQixFQUFFLFlBQVk7RUFDaEMsU0FBUyxFQUFFLGVBQWM7RUFDekIsVUFBVSxFQUFFLGNBQWM7RUFDMUIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsYUFBYSxHQUt2RDtFQVhELEFBUU0sVUFSSSxBQUFBLFFBQVEsR0FRWixZQUFZLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJTCxBQUNNLGlCQURXLEdBQ1gsWUFBWSxDQUFDO0VBQ1gsUUFBUSxFQUFFLE9BQU8sR0FDcEI7O0FBSEwsQUFLTSxpQkFMVyxHQUtYLG1CQUFtQixDQUFDO0VBQ2xCLFFBQVEsRUFBRSxPQUFPLEdBSXBCO0VBVkwsQUFPVSxpQkFQTyxHQUtYLG1CQUFtQixHQUVmLFVBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxPQUFPLEdBQ3BCOztBQU1ULEFBQ2lCLFVBRFAsQUFDTixTQUFVLEdBQUcsVUFBVSxDQUFDO0VBQ3BCLFVBQVUsRUFBRSxrQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBRSxLQUFJLENBQUUsS0FBSSxDQUFDLElBQUk7RUFDbkYsVUFBVSxFQUFFLGVBQWUsR0FDOUI7O0FBR0wsQUFBQSxZQUFZLENBQUM7RUFDVCxVQUFVLEVBQUUsa0JBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksR0FTM0M7RUFWRCxBQUdNLFlBSE0sR0FHTixZQUFZLENBQUM7SUFDWCxVQUFVLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQzlDO0VBTEwsQUFPUSxZQVBJLEdBT0osWUFBWSxDQUFDO0lBQ2IsVUFBVSxFQUFFLEdBQUcsQ0FBRSxJQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlLEdBQzNDOztBQUdMLEFBQUEsaUJBQWlCLENBQUE7RUFDYixVQUFVLEVBQUUsbUJBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQzVDOztBQUNELEFBQUEsaUJBQWlCLENBQUM7RUFFVixVQUFVLEVBQUUsSUFBSSxDQUFBLFVBQVUsR0FFakM7O0FBR0QsQUFFTSxpQkFGVyxHQUVYLFlBQVksQ0FBQztFQUVYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsT0FBTyxFQUFFLE1BQU0sR0FjbEI7RUFyQkwsQUFRVSxpQkFSTyxHQUVYLFlBQVksR0FNUixVQUFVLENBQUM7SUFFVCxJQUFJLEVBQUUsUUFBUTtJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFDLE1BQU07SUFDZixZQUFZLEVBQUUsTUFBTTtJQUNwQixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQWhCVCxBQWtCVSxpQkFsQk8sR0FFWCxZQUFZLEdBZ0JSLGFBQWEsQ0FBQztJQUNaLElBQUksRUFBRSxRQUFRLEdBQ2pCOztBQXBCVCxBQTBCUSxpQkExQlMsR0EwQlQsWUFBWSxDQUFDO0VBQ2IsWUFBWSxFQUFFLEdBQUc7RUFDakIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBR0wsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixhQUFhLEVBQUUsR0FBRyxHQU1yQjtFQVBELEFBR00sbUJBSGEsR0FHYixZQUFZLENBQUM7SUFDWCxzQkFBc0IsRUFBRSxHQUFHO0lBQzNCLHVCQUF1QixFQUFFLEdBQUcsR0FDL0I7O0FBTUwsQUFDTSxVQURJLEFBQUEsU0FBUyxHQUFHLGVBQWUsR0FDL0IsWUFBWSxDQUFDO0VBQ1gsZ0JBQWdCLEVaNUpuQixPQUFPO0VZNkpKLEtBQUssRVp2SUwsS0FBTyxHWTRJVjtFQVJMLEFBS1EsVUFMRSxBQUFBLFNBQVMsR0FBRyxlQUFlLEdBQy9CLFlBQVksQ0FJVixRQUFRLENBQUM7SUFDTCxnQkFBZ0IsRVpoS3ZCLE9BQU8sR1lpS0g7O0FBSVQsQUFBQSxlQUFlLENBQUM7RUFDWixVQUFVLEVaaEpOLE9BQU87RVlpSlgsTUFBTSxFWGpISSxLQUFLLENBQUMsR0FBRyxDRHpFZCxPQUF3QjtFWTJMN0IsZUFBZSxFQXFDbEI7RUF4Q0QsQUFJTSxlQUpTLEdBSVQsWUFBWSxBQUFBLFNBQVMsQ0FBQztJQUNwQixVQUFVLEVackxULE9BQTBELENZcUxwQixVQUFVLEdBQ3BEO0VBTkwsQUFRTSxlQVJTLEdBUVQsWUFBWSxDQUFDO0lBQ1gsS0FBSyxFWnhKTCx5QkFBTztJWXlKUCxVQUFVLEVaM0xULE9BQTBEO0lZd00zRDtXQUNHO0lBQ0g7O1dBRUcsRUFDTjtJQTVCTCxBQWFRLGVBYk8sR0FRVCxZQUFZLENBS1YsUUFBUSxDQUFDO01BQ0wsS0FBSyxFWjdKVCx5QkFBTztNWThKSCxXQUFXLEVBQUUsR0FBRztNQUNoQixnQkFBZ0IsRVpqTW5CLE9BQTBELEdZdU0xRDtNQXRCVCxBQWFRLGVBYk8sR0FRVCxZQUFZLENBS1YsUUFBUSxBQUtKLE1BQU8sQ0FBQztRQUNKLEtBQUssRUFBRSxLQUFLO1FBQ1osZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsVUFBVSxHQUN6RDtFQXJCYixBQThCTSxlQTlCUyxHQThCVCxtQkFBbUIsQ0FBQztJQUNsQixVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQWhDTCxBQXFDSSxlQXJDVyxDQXFDWCxZQUFZLENBQUM7SUFDVCxtQkFBbUIsRUFBRSxrQkFBZSxHQUN2Qzs7QUFNTCxBQUNNLFVBREksQUFBQSxTQUFTLEdBQUcsc0JBQXNCLEdBQ3RDLFlBQVksQ0FBQztFQUNYLEtBQUssRUFBTyx5QkFBSztFQUNqQjs7Ozs7V0FLRyxFQUNOOztBQUdMLEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsVUFBVSxFWjVNTixPQUFPO0VZNk1YLE1BQU0sRUFBRSxxQkFBcUI7RUFDN0IsZUFBZSxFQW9CbEI7RUF2QkQsQUFJTSxzQkFKZ0IsR0FJaEIsWUFBWSxBQUFBLFNBQVMsQ0FBQztJQUNwQixVQUFVLEVaaE5WLE9BQU8sQ1lnTjRCLFVBQVUsR0FDaEQ7RUFOTCxBQVFNLHNCQVJnQixHQVFoQixZQUFZLENBQUM7SUFDWCxVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQU8seUJBQUssR0FZcEI7SUF0QkwsQUFZUSxzQkFaYyxHQVFoQixZQUFZLENBSVYsUUFBUSxDQUFDO01BQ0wsS0FBSyxFWnJOVCx5QkFBTztNWXNOSCxXQUFXLEVBQUUsR0FBRztNQUNoQixnQkFBZ0IsRUFBRSxXQUFXLEdBTWhDO01BckJULEFBWVEsc0JBWmMsR0FRaEIsWUFBWSxDQUlWLFFBQVEsQUFLSixNQUFPLENBQUM7UUFDSixLQUFLLEVBQUUsS0FBSztRQUNaLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLFVBQVUsR0FDekQ7O0FBTWIsQUFFTSxxQkFGZSxHQUVmLFlBQVksQ0FBQztFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsZUFBZSxHQUMvQjs7QUFOTCxBQVFNLHFCQVJlLEdBUWYsbUJBQW1CLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLE9BQU8sR0FDZjs7QUFHTCxBQUVNLG9CQUZjLEdBRWQsWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxjQUFjLEdBQzlCOztBQU5MLEFBUU0sb0JBUmMsR0FRZCxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSSxHQUNaOztBQU1MLHlCQUF5QjtBQUN6QixBQUNNLFVBREksQUFBQSxTQUFTLEdBQUcsaUJBQWlCLEdBQ2pDLFlBQVksQ0FBQztFQUNYOzs7OztXQUtHLEVBQ047O0FBR0wsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE1BQU0sRVg5T0ksS0FBSyxDQUFDLEdBQUcsQ0R6RWQsT0FBd0I7RVl3VDdCLFlBQVksRUFBRSxXQUFXO0VBQ3pCLFVBQVUsRUFBRSxLQUFnQjtFQUM1QixVQUFVLEVBQUUseURBQWlHLEdBNkNoSDtFQWpERCxBQU1JLGlCQU5hLEFBTWIsU0FBVSxDQUFDO0lBQ1AsWUFBWSxFQUFFLEtBQUssR0FDdEI7RUFSTCxBQVVNLGlCQVZXLEdBVVgsWUFBWSxBQUFBLFNBQVMsQ0FBQztJQUNwQixVQUFVLEVaeFJWLE9BQU8sQ1l3UlksVUFBVSxHQUNoQztFQVpMLEFBY00saUJBZFcsR0FjWCxZQUFZLENBQUM7SUFDWCxLQUFLLEVBQUUsS0FBSztJQUNaLFVBQVUsRUFBRSxJQUFJLEdBZW5CO0lBL0JMLEFBa0JRLGlCQWxCUyxHQWNYLFlBQVksQ0FJVixRQUFRLENBQUM7TUFDTCxLQUFLLEVBQUUsS0FBSztNQUNaLGdCQUFnQixFWmpTcEIsT0FBTyxHWXVTTjtNQTFCVCxBQWtCUSxpQkFsQlMsR0FjWCxZQUFZLENBSVYsUUFBUSxBQUlKLE1BQU8sQ0FBQztRQUNKLEtBQUssRVpwU2IsT0FBTztRWXFTQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLEdBQ2xEO0lBekJiLEFBNEJtQixpQkE1QkYsR0FjWCxZQUFZLENBY1YsUUFBUSxHQUFHLGFBQWEsQ0FBQztNQUNyQixnQkFBZ0IsRUFBRSxXQUFXLEdBQ2hDO0VBOUJULEFBaUNNLGlCQWpDVyxHQWlDWCxtQkFBbUIsQ0FBQztJQUNsQixVQUFVLEVBQUUsT0FBTztJQUVuQjs7V0FFRyxFQUNOO0VBdkNMLEFBeUNRLGlCQXpDUyxHQXlDVCxZQUFZLENBQUM7SUFDYixVQUFVLEVadlRWLE9BQU87SVl1VGEsaUNBQWlDO0lBQ3JELFVBQVUsRUFBRSxXQUFXLEdBQzFCO0VBNUNMLEFBOENJLGlCQTlDYSxDQThDYixZQUFZLENBQUM7SUFDVCxtQkFBbUIsRUFBRSxrQkFBZSxHQUN2Qzs7QUFHTCxBQUFBLFlBQVksQ0FBQztFQUNULFVBQVUsRUFBRSxPQUFPO0VBQ25CLEtBQUssRUFBTyx5QkFBSztFQUNqQiw4QkFBOEIsRUFFakM7O0FDNVhEOztHQUVHO0FBQ0gsQUFBQSxvQkFBb0IsQ0FBQTtFQUNaLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLEtBQUssRUFBRSxLQUFLLEdBQ25COztBQUNELEFBQUEsb0JBQW9CLENBQUM7RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsT0FBTztFQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0VBRXZCLDBDQUEwQztFVlIxQyxxQkFBcUIsRUFBRSxJQUFJO0VBQzNCLG1CQUFtQixFQUFFLElBQUk7RUFDekIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHVU1wQjs7QUFFRCxBQUFBLGdCQUFnQixDQUFDO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsTUFBTTtFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUVsQiwwQ0FBMEM7RVZsQjFDLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdVZ0JwQjs7QUFFRCxxQkFBcUI7QUFDckIsQUFBQSxtQkFBbUIsQ0FBQTtFQUNmLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQWE7RUFFL0IsUUFBUSxFQUFFLE1BQU0sR0FDbkI7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQTtFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQUksdUNBQXVDLEVBQ3REOztBQUNELEFBQUEsdUJBQXVCLENBQUE7RUFDbkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZ0JBQWdCLEViakJYLHVCQUEwRDtFYWtCL0QsSUFBSSxFQUFDLENBQUM7RUFDTixHQUFHLEVBQUMsQ0FBQztFQUNMLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLEtBQUssRWJsQkQsT0FBeUQ7RWFtQjdELFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ2JHcEIsa0JBQU8sR2FBZDs7QUFDRCxLQUFLO0FBQ0w7Ozs7Ozs7OztHQVNHO0FBRUgsbUJBQW1CO0FBS25CLEFBQUEsb0JBQW9CLEFBQUEsY0FBYyxDQUFDO0VBQy9COzhCQUMwQjtFQUMxQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsSUFBSTtFQUNULElBQUksRUFBRSxHQUFHO0VBQ1QsS0FBSyxFQUFFLEdBQUc7RUFDVixNQUFNLEVBQUUsR0FBRztFQUNYLFFBQVEsRUFBQyxNQUFNLEdBZ0VsQjtFQXhFRCxBQVVJLG9CQVZnQixBQUFBLGNBQWMsQ0FVOUIsZUFBZSxDQUFDO0lBQ1osNEJBQTRCLEVBQy9CO0VBWkwsQUFjSSxvQkFkZ0IsQUFBQSxjQUFjLENBYzlCLG9CQUFvQixDQUFDO0lBQ2pCLDRCQUE0QjtJQUM1QixRQUFRLEVBQUUsTUFBTSxHQUNuQjtFQWpCTCxBQW1CSSxvQkFuQmdCLEFBQUEsY0FBYyxDQW1COUIsYUFBYSxDQUFDO0lBQ1YsUUFBUSxFQUFFLE1BQU07SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsMEJBQTBCLEVBQzdCO0VBdkJMLEFBeUJJLG9CQXpCZ0IsQUFBQSxjQUFjLENBeUI5QixnQkFBZ0IsQ0FBQztJQUNiLDZCQUE2QjtJQUM3QixRQUFRLEVBQUUsTUFBTTtJQUNoQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxDQUFDO0lBQ1QsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQyxHQUNYO0VBakNMLEFBbUNJLG9CQW5DZ0IsQUFBQSxjQUFjLENBbUM5QixVQUFVLENBQUM7SUFDUCwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDRCQUE0QixFQUMvQjtFQXZDTCxBQXlDSSxvQkF6Q2dCLEFBQUEsY0FBYyxDQXlDOUIsbUJBQW1CLENBQUM7SUFDaEIsMkJBQTJCO0lBQzNCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLE1BQU07SUFDbEIsMEJBQTBCLEVBQUUsS0FBSztJQUNqQyxLQUFLLEVBQUUsZUFBZTtJQUN0QixNQUFNLEVBQUUsZUFBZTtJQUN2QixRQUFRLEVBQUUsUUFBUTtJQUNsQiwyREFBMkQ7SUFDM0QsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUF0REwsQUF3REksb0JBeERnQixBQUFBLGNBQWMsQ0F3RDlCLG1CQUFtQixDQUFDO0lBQ2hCLDBCQUEwQixFQUM3QjtFQTFETCxBQTRESSxvQkE1RGdCLEFBQUEsY0FBYyxDQTREOUIsWUFBWSxDQUFDO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxHQUFHLEVBQUUsR0FBRztJQUNSLFVBQVUsRUFBRSxXQUFXLEdBQzFCO0VBakVMLEFBbUVJLG9CQW5FZ0IsQUFBQSxjQUFjLENBbUU5QixhQUFhLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLEtBQUssRUFBRSxHQUFHLEdBQ2I7O0FBR0wsWUFBWTtBQUNaLEFBQUEsWUFBWSxDQUFDO0VBQ1QsUUFBUSxFQUFDLFFBQVE7RUFDakIsd0JBQXdCO0VBQ3hCLElBQUksRUFBRSxHQUFHO0VBQ1QsU0FBUyxFQUFFLE9BQU8sR0FFckI7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixRQUFRLEVBQUMsUUFBUTtFQUNqQixHQUFHLEVBQUUsR0FBRztFQUNSLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLE9BQU8sR0FHckI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLDhCQUE4QixFQUNqQzs7QUFDRCxBQUFBLGVBQWUsQ0FBQztFQUNaLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLDRCQUE0QixFQUMvQjs7QUFDRCxBQUFBLGFBQWEsRUFBRSxBQUFBLGNBQWMsQ0FBRTtFQUMzQixRQUFRLEVBQUMsUUFBUTtFQUNqQixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FDM0M7O0FBQ0QsQUFBQSxjQUFjLENBQUM7RUFDWCxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBbUIsR0FDNUM7O0FBQ0QsQUFBQSxhQUFhLENBQUM7RUFDVixRQUFRLEVBQUMsUUFBUTtFQUNqQixVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsR0FFN0M7O0FBQ0QsQUFBQSxjQUFjLENBQUM7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsVUFBVSxFQUFFLEtBQUs7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRWJ2S0EsT0FBMEQsR2FnTGxFO0VBakJELEFBVUksY0FWVSxBQVVWLFVBQVcsRUFWZixBQVVpQixjQVZILEFBVUcsV0FBWSxDQUFDO0lBQ3RCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsV0FBVyxFQUFFLE1BQU07SUFDbkIsS0FBSyxFQUFFLG1CQUFtQixHQUM3Qjs7QUFLTCxXQUFXO0FBQ1gsQUFBQSxVQUFVLENBQUM7RUFDUCxRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFhLEdBQ2xDOztBQUNELEFBQUEsbUJBQW1CLEVBQUUsQUFBQSxlQUFlLENBQUE7RUFDaEMsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLGVBQWU7RUFDdkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsVUFBVSxFQUFDLFVBQVU7RUFDckIsUUFBUSxFQUFFLE1BQU07RUFDaEIsYUFBYSxFQUFDLFFBQVEsR0FDekI7O0FBQ0QsQUFBQSxlQUFlLENBQUE7RUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFDRCxBQUFBLGVBQWUsQUFBQSxNQUFNLENBQUE7RUFDakI7dUJBQ21CLEVBQ3RCOztBQUVELEFBQUEsbUJBQW1CLENBQUE7RUFDZixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLHNCQUFzQixFQUFDLEdBQUc7RUFDMUIsdUJBQXVCLEVBQUMsR0FBRztFQUMzQixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLEdBQUcsQ0FBQztFQUNuQixnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCOztBQUVELEFBQUEsbUJBQW1CLEFBQUEsR0FBRyxDQUFFO0VBQ3BCLGdCQUFnQixFQUFFLE9BQU8sR0FDNUI7O0FBQ0QsQUFBQSxtQkFBbUIsQUFBQSxLQUFLLENBQUM7RUFDckIsZ0NBQWdDO0VBQ2hDLGdCQUFnQixFYnBOWCxPQUEwRDtFYXFOL0QsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFDRCxBQUFBLGVBQWUsQUFBQSxHQUFHLEVBQUUsQUFBQSxlQUFlLEFBQUEsR0FBRyxDQUFDO0VBQ25DLGdCQUFnQixFQUFFLHdCQUF3QixHQUM3Qzs7QUFFRCxBQUFBLG1CQUFtQixBQUFBLE1BQU0sQUFBQSxRQUFRLENBQUM7RUFDOUIsV0FBVyxFQUFFLE1BQU07RUFDbkI7MkJBQ3VCO0VBQ3ZCLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsTUFBTSxDQUFDO0VBQ3RCLGdCQUFnQixFYjlPWCxPQUF3QjtFYStPN0IsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLE1BQU0sQUFBQSxHQUFHLENBQUM7RUFDekIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFBLFVBQVUsR0FDdEM7O0FBQ0QsQUFBQSxtQkFBbUIsQUFBQSxNQUFNLEFBQUEsR0FBRyxDQUFDO0VBQ3pCLGdCQUFnQixFQUFFLE9BQU8sR0FDNUI7O0FBQ0QsUUFBUTtBQUNSLEFBQUEsU0FBUyxDQUFDO0VBQ04sUUFBUSxFQUFFLFFBQVE7RUFDbEIsK0NBQStDO0VBQy9DLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFlBQVksRUFBRSxjQUFjO0VBQzVCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyx3QkFBdUIsR0FDbEQ7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixZQUFZLEVBQUUsR0FBRztFQUNqQixRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVBQUUsSUFBSTtFQUNmLGdCQUFnQixFQUFFLEtBQXNCO0VBQ3hDLFVBQVUsRUFBRSxlQUFlO0VBQzNCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFlBQVksRUFBRSxjQUFjO0VBQzVCLGtEQUFrRDtFQUNsRCxXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsT0FBTyxHQU9sQjtFQW5CRCxBQWNJLGFBZFMsQUFjVCxNQUFPLENBQUM7SUFDSixnQkFBZ0IsRUFBRSxLQUFLO0lBQ3ZCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBR0wsV0FBVztBQUNYLEFBQUEsa0JBQWtCLENBQUM7RUFDZixRQUFRLEVBQUUsUUFBUTtFQUVsQiw0QkFBNEI7RUFDNUIsVUFBVSxFQUFFLHNCQUF1QjtFQUNuQyxLQUFLLEVBQUMsR0FBRztFQUNULE1BQU0sRUFBRSxHQUFHLEdBQ2Q7O0FBQ0QsaUJBQWlCO0FBQ2pCLEFBQUEsaUJBQWlCLEVBQUUsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ2J6UmpCLE9BQTBELEdhMFJsRTs7QUFDRCxBQUFBLG1CQUFtQixDQUFDO0VBQUMsT0FBTyxFQUFFLEdBQUcsR0FBSTs7QUFDckMsZ0JBQWdCO0FBS2hCLEFBQUEsV0FBVyxDQUFDO0VBQ1IsVUFBVSxFQUFFLFVBQVU7RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLE9BQU87RUFDZixrQkFBa0IsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWU7RUFDbkQsZUFBZSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBZTtFQUNoRCxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFlO0VBQzNDLE9BQU8sRUFBRSxDQUFDO0VBQ1YsVUFBVSxFQUFFLGVBQWU7RUFDM0IsVUFBVSxFQUFFLE9BQU87RUFDbkI7aUNBQzZCO0VBa0Y3QixnQkFBZ0IsRUFvSW5CO0VBak9ELEFBWUksV0FaTyxBQVlQLFVBQVcsQ0FBQztJQUNSLFVBQVUsRUFBRSxPQUFtQixHQUtsQztJQWxCTCxBQWVZLFdBZkQsQUFZUCxVQUFXLEdBR0gsYUFBYSxDQUFDO01BQ2QsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUFqQlQsQUFvQkksV0FwQk8sQUFvQlAsY0FBZSxDQUFDO0lBQ1osVUFBVSxFQUFFLE9BQW9CLEdBS25DO0lBMUJMLEFBdUJZLFdBdkJELEFBb0JQLGNBQWUsR0FHUCxhQUFhLENBQUM7TUFDZCxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQXpCVCxBQTRCSSxXQTVCTyxBQTRCUCxhQUFjLENBQUM7SUFDWCxVQUFVLEVBQUUsT0FBb0IsR0FLbkM7SUFsQ0wsQUErQlksV0EvQkQsQUE0QlAsYUFBYyxHQUdOLGFBQWEsQ0FBQztNQUNkLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBakNULEFBb0NJLFdBcENPLEFBb0NQLFlBQWEsQ0FBQztJQUNWLFVBQVUsRUFBRSxPQUFvQixHQUtuQztJQTFDTCxBQXVDWSxXQXZDRCxBQW9DUCxZQUFhLEdBR0wsYUFBYSxDQUFDO01BQ2QsVUFBVSxFQUFFLE9BQU8sR0FDdEI7RUF6Q1QsQUE0Q0ksV0E1Q08sQUE0Q1AsYUFBYyxDQUFDO0lBQ1gsVUFBVSxFQUFFLE9BQXFCLEdBS3BDO0lBbERMLEFBK0NZLFdBL0NELEFBNENQLGFBQWMsR0FHTixhQUFhLENBQUM7TUFDZCxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQWpEVCxBQW9ESSxXQXBETyxBQW9EUCxjQUFlLENBQUM7SUFDWixTQUFTLEVBQUUsVUFBVTtJQUNyQixnQkFBZ0IsRUFBRSxTQUFTO0lBQzNCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLGNBQWMsQ0FBQyxnQkFBZ0I7SUF1QnZDOzs7Ozs7OztXQVFHLEVBSU47SUE1RkwsQUEyRFEsV0EzREcsQUFvRFAsY0FBZSxBQU9YLE9BQVEsQ0FBQztNQUNMLFFBQVEsRUFBRSxRQUFRO01BQ2xCLE9BQU8sRUFBRSxDQUFDO01BQ1YsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLE1BQU0sRUFBRSxDQUFDO01BQ1QsS0FBSyxFQUFFLENBQUM7TUFDUiwrQ0FBK0M7TUFDL0MsT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBQUUsR0FBRztNQUNaLGdSQUFnUjtNQUNoUiw4QkFBOEI7TUFDOUIsNk9BQTZPO01BQzdPLFVBQVUsRUFBRSwwSUFBMEksRUFBRSwySUFBMEk7TUFHbFMsVUFBVSxFQUFFLG1KQUF1SixFQUFFLG9KQUF1SjtNQUM1VCxpQ0FBaUM7TUFDakMsdUNBQXVDO01BQ3ZDLGVBQWUsRUFBRSxlQUFlLEdBQ25DO0lBL0VULEFBeUZZLFdBekZELEFBb0RQLGNBQWUsR0FxQ1AsYUFBYSxDQUFDO01BQ2QsWUFBWSxFQUFFLFdBQVcsR0FDNUI7RUEzRlQsQUF3R0ksV0F4R08sQUF3R1AsV0FBWSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE9BQWlDLEdBS2hEO0lBOUdMLEFBMkdZLFdBM0dELEFBd0dQLFdBQVksR0FHSixhQUFhLENBQUM7TUFDZCxVQUFVLEVBYkcsT0FBb0IsR0FjcEM7RUE3R1QsQUFnSEksV0FoSE8sQUFnSFAsV0FBWSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE9BQWlDLEdBS2hEO0lBdEhMLEFBbUhZLFdBbkhELEFBZ0hQLFdBQVksR0FHSixhQUFhLENBQUM7TUFDZCxVQUFVLEVBcEJHLE9BQW9CLEdBcUJwQztFQXJIVCxBQXdISSxXQXhITyxBQXdIUCxXQUFZLENBQUM7SUFDVCxVQUFVLEVBQUUsT0FBaUMsR0FLaEQ7SUE5SEwsQUEySFksV0EzSEQsQUF3SFAsV0FBWSxHQUdKLGFBQWEsQ0FBQztNQUNkLFVBQVUsRUEzQkcsT0FBb0IsR0E0QnBDO0VBN0hULEFBZ0lJLFdBaElPLEFBZ0lQLFdBQVksQ0FBQztJQUNULFVBQVUsRUFBRSxPQUFpQyxHQUtoRDtJQXRJTCxBQW1JWSxXQW5JRCxBQWdJUCxXQUFZLEdBR0osYUFBYSxDQUFDO01BQ2QsVUFBVSxFQWxDRyxPQUFvQixHQW1DcEM7RUFySVQsQUF3SUksV0F4SU8sQUF3SVAsV0FBWSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE9BQWlDLEdBS2hEO0lBOUlMLEFBMklZLFdBM0lELEFBd0lQLFdBQVksR0FHSixhQUFhLENBQUM7TUFDZCxVQUFVLEVBekNHLE9BQW9CLEdBMENwQztFQTdJVCxBQWdKSSxXQWhKTyxBQWdKUCxXQUFZLENBQUM7SUFDVCxVQUFVLEVBQUUsT0FBaUMsR0FLaEQ7SUF0SkwsQUFtSlksV0FuSkQsQUFnSlAsV0FBWSxHQUdKLGFBQWEsQ0FBQztNQUNkLFVBQVUsRUFoREcsT0FBb0IsR0FpRHBDO0VBckpULEFBd0pJLFdBeEpPLEFBd0pQLFdBQVksQ0FBQztJQUNULFVBQVUsRUFBRSxPQUFpQyxHQUtoRDtJQTlKTCxBQTJKWSxXQTNKRCxBQXdKUCxXQUFZLEdBR0osYUFBYSxDQUFDO01BQ2QsVUFBVSxFQXZERyxPQUFvQixHQXdEcEM7RUE3SlQsQUFnS0ksV0FoS08sQUFnS1AsV0FBWSxDQUFDO0lBQ1QsVUFBVSxFQUFFLE9BQWlDLEdBS2hEO0lBdEtMLEFBbUtZLFdBbktELEFBZ0tQLFdBQVksR0FHSixhQUFhLENBQUM7TUFDZCxVQUFVLEVBOURHLE9BQW9CLEdBK0RwQztFQXJLVCxBQTBLSSxXQTFLTyxDQTBLUCxTQUFTLENBQUM7SUFDTixLQUFLLEViN2NKLE9BQTBEO0lhOGMzRCxRQUFRLEVBQUUsUUFBUTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7SUFDZixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFtQixHQUMvQztFQWxMTCxBQW9MSSxXQXBMTyxDQW9MUCxhQUFhLENBQUM7SUFDVixLQUFLLEVidGRKLE9BQTBELEdhdWQ5RDtFQXRMTCxBQXdMSSxXQXhMTyxBQXdMUCxNQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsSUFBSTtJQU1iLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0lBaE1MLEFBMkxZLFdBM0xELEFBd0xQLE1BQU8sR0FHQyxhQUFhLENBQUM7TUFDZCxZQUFZLEVBQUUsV0FBVyxHQUM1QjtFQTdMVCxBQWtNSSxXQWxNTyxBQWtNUCxNQUFPLEFBQUEsUUFBUSxDQUFDO0lBQ1osV0FBVyxFQUFFLGFBQWEsR0FDN0I7RUFwTUwsQUFzTUksV0F0TU8sQ0FzTVAsYUFBYSxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsR0FBRztJQUNULEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxZQUFZLEVBQUUsR0FBRztJQUNqQixTQUFTLEVBQUUsSUFBSTtJQUNmLDhCQUE4QjtJQUM5QixTQUFTLEVBQUUsVUFBVTtJQUNyQixRQUFRLEVBQUUsTUFBTTtJQUNoQixhQUFhLEVBQUUsUUFBUTtJQUN2QixVQUFVLEVBQUUsZUFBZTtJQUMzQixXQUFXLEVBQUUsZUFBZSxHQUMvQjtFQXBOTCxBQXNOYyxXQXROSCxBQXNOUCxRQUFTLENBQUMsYUFBYSxFQXROM0IsQUFzTnVDLFdBdE41QixBQXNOa0IsUUFBUyxDQUFDLGFBQWEsQ0FBQztJQUM3QyxTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQXhOTCxBQTBOc0IsV0ExTlgsQUEwTlAsUUFBUyxBQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDNUIsU0FBUyxFQUFFLElBQUksR0FDbEI7RUE1TkwsQUE4TmMsV0E5TkgsQUE4TlAsUUFBUyxDQUFDLGFBQWEsQ0FBQztJQUNwQixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFHTDs7Ozs7Ozs7Ozs7R0FXRztBQUVILEFBQXdCLFdBQWIsQUFBQSxVQUFVLEdBQUcsYUFBYSxBQUFBLFFBQVEsQ0FBQztFQUMxQyxRQUFRLEVBQUUsUUFBUTtFQUNsQixJQUFJLEVBQUUsSUFBSTtFQUNWLEdBQUcsRUFBRSxJQUFJO0VBQ1QsT0FBTyxFQUFFLENBQUM7RUFDVjsrQkFDMkI7RUFDM0IsV0FBVyxFQUFFLFdBQVc7RUFDeEIsT0FBTyxFQUFFLE9BQU87RUFDaEIsU0FBUyxFQUFFLEdBQUc7RUFDZCxZQUFZLEVBQUUsR0FBRztFQUNqQixLQUFLLEVBQUUsR0FBRyxHQUNiOztBQUNELEFBQUEsV0FBVyxBQUFBLE1BQU0sQ0FBQTtFQUNHLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDYnZpQjdCLHFCQUF3QjtFYXdpQmQsK0JBQStCO0VBRS9CLE9BQU8sRUFBRSxDQUFDO0VBQUcsU0FBUztFQUN0QixPQUFPLEVBQUUsQ0FBQztFQUNWLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWU7RUFDM0MsVUFBVSxFQUFFLGVBQWUsR0FNN0M7RUFiRCxBQVNJLFdBVE8sQUFBQSxNQUFNLENBU2IsYUFBYSxDQUFBO0lBQ1UsbUJBQW1CLEVBRXpDOztBQUVELEFBQUEsV0FBVyxBQUFBLE1BQU0sQ0FBWTtFQUNOLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDYjNpQnBDLHVCQUEwRCxHYTZpQjlEOztBQUNMLGdCQUFnQjtBQUtoQixBQUFBLFdBQVcsQ0FBQztFQUNSLFVBQVUsRUFBQyxVQUFVO0VBQ3JCLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLGdCQUFnQixFQUFFLFNBQVM7RUFDM0IsUUFBUSxFQUFFLE1BQU07RUFFUjtvQ0FDd0IsRUFDbkM7O0FBQ0QsVUFBVSxDQUFWLGFBQVU7RUFDTixBQUFBLElBQUk7SUFDQSxPQUFPLEVBQUUsR0FBRztJQUNaLFNBQVMsRUFBRSxvQkFBbUIsQ0FBQyxXQUFVLENBQUMseUJBQXNCO0VBR3BFLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDO0lBQ1YsU0FBUyxFQUFFLGVBQWMsQ0FBQyxXQUFVLENBQUMsdUJBQW9COztBQUdqRSxhQUFhO0FBRWIsVUFBVTtBQUVWLEFBQUEsWUFBWSxDQUFDO0VBQ1QsY0FBYyxFQUFDLFFBQVE7RUFDdkIsTUFBTSxFQUFFLEtBQUs7RUFDYixhQUFhLEVBQUUsS0FBSztFQUVwQixZQUFZLEVBQUUsS0FBSztFQUNuQixTQUFTLEVBQUUsR0FBRztFQUNkLEtBQUssRWJ0akJELG1CQUFPO0VhdWpCWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2JwakJiLE9BQU87RWFxakJYLGdCQUFnQixFYnJqQlosT0FBTztFYXNqQlgsVUFBVSxFQUFFLElBQUksR0E0Qm5CO0VBdENELEFBYUksWUFiUSxBQWFSLE1BQU8sQ0FBQztJQUNKLFlBQVksRWJ6bEJYLE9BQTBEO0lhMGxCM0QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUM5QztFQWhCTCxBQWlCSSxZQWpCUSxBQWlCUixNQUFPLENBQUM7SUFDSixZQUFZLEViN2xCWCxPQUEwRCxHYThsQjlEO0VBbkJMLEFBcUJJLFlBckJRLEFBcUJSLE9BQVEsQ0FBQztJQUNMLEtBQUssRWJsa0JMLHlCQUFPO0lhbWtCUCxZQUFZLEVibG1CWCxPQUEwRDtJYW1tQjNELFVBQVUsRWJubUJULE9BQTBELEdhNG1COUQ7SUFqQ0wsQUEwQlEsWUExQkksQUFxQlIsT0FBUSxBQUtKLE1BQU8sQ0FBQztNQUNKLFlBQVksRWJ2a0JoQixPQUFPLEdhd2tCTjtJQTVCVCxBQThCUSxZQTlCSSxBQXFCUixPQUFRLEFBU0osTUFBTyxDQUFDO01BQ0osWUFBWSxFYjNrQmhCLE9BQU8sR2E0a0JOOztBQVVULEFBQUEsU0FBUyxDQUFBO0VBQ0wsWUFBWSxFQUFFLEdBQUcsQ0FBQSxVQUFVLEdBQzlCOztBQUNELEFBQUEsV0FBVyxDQUFBO0VBQ1AsWUFBWSxFQUFFLEdBQUcsQ0FBQSxVQUFVO0VBQzNCLHlCQUF5QixFQUFFLEtBQUs7RUFDaEMsc0JBQXNCLEVBQUUsS0FBSyxHQUNoQzs7QUFDRCxBQUFBLHFCQUFxQixBQUFBLFdBQVcsQ0FBQTtFQUM1QixPQUFPLEVBQUMsTUFBTTtFQUNWLE9BQU8sRUFBQyxLQUFLO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDMUIsWUFBWSxFQUFFLEtBQUs7RUFDbkIsWUFBWSxFQUFFLEdBQUc7RUFDakIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztFQUd2QixZQUFZLEVBQUUsR0FBRyxDQUFBLFVBQVU7RUFDM0IseUJBQXlCLEVBQUUsS0FBSztFQUNoQyxzQkFBc0IsRUFBRSxLQUFLLEdBQ2hDOztBQUNELEFBQUEsV0FBVyxDQUFBO0VBQ1AsMEJBQTBCLEVBQUUsS0FBSztFQUNqQyx1QkFBdUIsRUFBRSxLQUFLLEdBQ2pDOztBQUNELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFHRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBRUgsZ0JBQWdCO0FBSWhCLEFBQUEsYUFBYSxBQUFBLGFBQWEsQ0FBQztFQUN2QixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsR0FBRyxHQXlCdEI7RUEzQkQsQUFNTSxhQU5PLEFBQUEsYUFBYSxHQU1wQixRQUFRLENBQUM7SUFDUCxjQUFjLEVBQUUsTUFBTTtJQUN0QixZQUFZLEVBQUUsS0FBSztJQUNuQixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxLQUFLO0lBQ2IsYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixLQUFLLEViaHFCTCxtQkFBTztJYWlxQlAsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENiOXBCakIsT0FBTztJYStwQlAsZ0JBQWdCLEViL3BCaEIsT0FBTyxHYTBxQlY7SUExQkwsQUFNTSxhQU5PLEFBQUEsYUFBYSxHQU1wQixRQUFRLEFBV04sTUFBTyxDQUFDO01BQ0osVUFBVSxFQUFFLElBQUk7TUFDaEIsWUFBWSxFYmxzQmYsT0FBMEQ7TWFtc0J2RCxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQzlDO0lBckJULEFBTU0sYUFOTyxBQUFBLGFBQWEsR0FNcEIsUUFBUSxBQWlCTixNQUFPLENBQUM7TUFDSixZQUFZLEVieHFCaEIsT0FBTyxHYXlxQk47O0FBbUJULEFBQUEsQ0FBQyxBQUFBLGNBQWMsQ0FBQztFQUFFLGdCQUFnQixFQUFFLEtBQUs7RUFBRyxLQUFLLEVBQUUsS0FBSyxHQUFJOztBQUU1RCxNQUFNLENBQUMsS0FBSztFQUVSLEFBQUEsV0FBVyxDQUFDO0lBQU0sZ0JBQWdCLEVBQUUsZUFBZSxHQUFTO0VBQzVELEFBQUEsZUFBZSxFQUFFLEFBQWdCLGVBQUQsQ0FBQyxDQUFDLENBQUU7SUFDaEMsT0FBTyxFQUFFLGVBQWUsR0FDM0I7O0FBS0wsZ0JBQWdCO0FBQ2hCLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsYUFBYSxFQUFFLGVBQWU7RUFDOUIsVUFBVSxFQUFFLFVBQVU7RUFDdEIsUUFBUSxFQUFDLE1BQU07RUFFZixPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxRQUFRLEdBRTFCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsTUFBTSxDQUFDO0VBQ3BCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLGdCQUFnQixFQUFFLFNBQVM7RUFDM0IsTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBQ0QsQUFBQSxpQkFBaUIsQUFBQSxvQkFBb0IsQ0FBQztFQUNsQyxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3RCLFdBQVcsRUFBRSxJQUFJO0VBQ3BCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsb0JBQW9CLEFBQUEsTUFBTSxDQUFBO0VBQ3ZDLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBQ0QsQUFBQSxhQUFhLEFBQUEsT0FBTyxDQUFBO0VBQ2hCLGdCQUFnQixFQUFDLEtBQUssR0FFekI7O0FBQ0QsQUFBQSxhQUFhLEFBQUEsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQ2pDLGdCQUFnQixFQUFFLE9BQU87RUFDMUIsVUFBVSxFQUFFLGVBQWUsR0FFakM7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUVkLFVBQVUsRUFBQyxVQUFVO0VBQ3JCLFFBQVEsRUFBQyxRQUFRO0VBQ2pCLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFDLEdBQUc7RUFDZixhQUFhLEVBQUUsR0FBRztFQUNsQixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFVBQVUsRUFBRSxLQUFLO0VBR2pCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE1BQU0sRUFBRSxPQUFPO0VBQ2QsT0FBTyxFQUFFLENBQUM7RUFDWCxVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFDRCxBQUFBLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztFQUNyQixXQUFXLEVBQUUsSUFBSSxHQUNuQjs7QUFDRCxBQUFBLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztFQUVwQixlQUFlLEVBQUUsU0FBUztFQUMxQixVQUFVLEVBQUUsSUFBSSxHQUVuQjs7QUFFRCxBQUFBLFNBQVMsQUFBQSxPQUFPLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUMsSUFBSTtFQUNYLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBRUQsU0FBUztBQUVULEFBQUEsZ0JBQWdCLENBQUM7RUFDYixTQUFTLEVBQUUsZUFBZTtFQUMxQixjQUFjLEVBQUUsZUFBZTtFQUMvQixpQkFBaUIsRUFBRSxlQUFlO0VBQ2xDLGFBQWEsRUFBRSxlQUFlO0VBQzlCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBR0QsQUFBQSxhQUFhLENBQUM7RUFDVixLQUFLLEVBQUUsS0FBSyxDQUFBLFVBQVU7RUFDdEIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLE9BQU8sRUFBRSxZQUFZLEdBRXhCOztBQUdELGlCQUFpQjtBQUNqQixBQUFBLGNBQWMsQ0FBQztFQUNYLHFCQUFxQixFQTBCeEI7RUEzQkQsQUFFSSxjQUZVLENBRVYsSUFBSSxDQUFDO0lBQ0QsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUFKTCxBQU1JLGNBTlUsQ0FNVixJQUFJLENBQUM7SUFDRCxLQUFLLEVBQUUsZ0JBQWdCO0lBQ3ZCLGVBQWU7SUFDZixjQUFjLEVBQUUsTUFBTTtJQUN0QixRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQjs7OEJBRXNCO0lBQ3RCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBZ0IsR0FTM0M7SUExQkwsQUFNSSxjQU5VLENBTVYsSUFBSSxBQWFBLFNBQVUsQ0FBQztNQUNQLEtBQUssRUFBRSxTQUFTLEdBQ25CO0lBckJULEFBTUksY0FOVSxDQU1WLElBQUksQUFpQkEsV0FBWSxDQUFDO01BQ1QsS0FBSyxFWnQwQk4sT0FBTyxHWXUwQlQ7O0FDMTNCVCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLE1BQU07RUFDbEIsUUFBUSxFQUFFLFFBQVEsR0FDckI7O0FBR0QsTUFBTSxDQUFDLEtBQUs7RUFLUixBQUFBLGlCQUFpQixDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFFRCxBQUFBLGVBQWUsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBRUQsQUFBQSxjQUFjLENBQUM7SUFDWCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLElBQUksRUFBRSxHQUFHO0lBQ1QsT0FBTyxFQUFFLEtBQUs7SUFDZCxVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFsQkksSUFBSSxHQW1CcEI7RUFJRCxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEVBQUUsQ0FBQztJQUNmLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsaUJBQWlCLEVBQUUsS0FBSyxHQUMzQjtFQUVELEFBQUssRUFBSCxHQUFHLENBQUMsRUFBRSxBQUFLLEVBQUgsR0FBRyxDQUFDLEVBQUUsQUFBSyxFQUFILEdBQUcsQ0FBQyxDQUFDO0lBQ25CLGlCQUFpQixFQUFFLEtBQUssR0FDM0I7RUFFRCxBQUFBLEtBQUssRUFBRSxBQUFBLE1BQU0sQ0FBQztJQUNWLGlCQUFpQixFQUFFLEtBQUssR0FDM0I7RUFFRCxBQUFBLElBQUksQ0FBQztJQUNELFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0VBQ0QsSUFBSTtFQUNKLEtBQUs7SUFDRCxJQUFJLEVBQUUsaUJBQWlCO0VBSTNCLHNEQUFzRDtFQUN0RCxBQUFBLENBQUMsQ0FBQSxBQUFBLElBQUMsQUFBQSxDQUFLLE1BQU0sRUFBRSxBQUFBLEdBQUcsQ0FBQSxBQUFBLEdBQUMsQUFBQSxDQUFJLE1BQU0sQ0FBQztJQUMxQixPQUFPLEVBQUUsZUFBZSxHQUMzQjtFQUVELDJCQUEyQjtFQUMzQixBQUFBLE9BQU8sRUFBRSxBQUFBLFdBQVcsQ0FBQztJQUNqQixPQUFPLEVBQUUsZUFBZSxHQUMzQjtFQUVELHNCQUFzQjtFQUN0QixBQUFBLGtCQUFrQixDQUFDO0lBQ2YsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsR0FBRztJQUNsQixjQUFjLEVBQUUsR0FBRztJQUNuQixhQUFhLEVBQUUsZUFBZSxHQUNqQztFQUNELEFBQUEsV0FBVyxDQUFDO0lBQ1IsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFFRCxTQUFTO0VBRVQsQUFBQSxTQUFTLENBQUM7SUFDTixTQUFTLEVBdEVJLElBQUk7SUFxRmpCLElBQUksRUFVUDtJQTFCRCxBQUdJLFNBSEssQ0FHTCxFQUFFLEVBSE4sQUFHUSxTQUhDLENBR0QsRUFBRSxFQUhWLEFBR1ksU0FISCxDQUdHLEVBQUUsRUFIZCxBQUdnQixTQUhQLENBR08sRUFBRTtJQUhsQixBQUlJLFNBSkssQ0FJTCx1QkFBdUIsQ0FBQztNQUNwQixTQUFTLEVBekVNLElBQUksQ0F5RWMsVUFBVSxHQUM5QztJQU5MLEFBUUksU0FSSyxDQVFMLGdCQUFnQixDQUFDO01BQ2IsZ0JBQWdCLEVBQUUsUUFBUTtNQUMxQixTQUFTLEVBQUUsVUFBVSxHQUt4QjtNQWZMLEFBWVEsU0FaQyxDQVFMLGdCQUFnQixDQUlaLEtBQUssQ0FBQztRQUNGLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7SUFkVCxBQWlCSSxTQWpCSyxDQWlCTCxVQUFVLENBQUM7TUFDUCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQW5CTCxBQXFCSSxTQXJCSyxDQXFCTCxJQUFJLENBQUM7TUFDRCxPQUFPLEVBQUUsZ0JBQWdCLEdBQzVCO0VBTUwsWUFBWTtFQUNaLEFBQUEsZ0JBQWdCLENBQUM7SUFDYixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQUdELFdBQVc7RUFDWCxZQUFZO0VBR1osQUFBQSxjQUFjLENBQUM7SUFDWCxPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxHQUFHO0lBQ1osS0FBSyxFQUFFLElBQUksR0E2QmQ7SUFuQ0QsQUFRSSxjQVJVLENBUVYsZUFBZSxDQUFDO01BQ1osT0FBTyxFQUFFLElBQUksR0FDaEI7SUFWTCxBQVlJLGNBWlUsQ0FZVixhQUFhLENBQUM7TUFDVixPQUFPLEVBQUUsS0FBSyxHQUNqQjtJQWRMLEFBZ0JJLGNBaEJVLENBZ0JWLFlBQVksQ0FBQztNQUNULE9BQU8sRUFBRSxZQUFZO01BQ3JCLEtBQUssRUFBRSxLQUFLO01BQ1osU0FBUyxFQUFFLFVBQVU7TUFDckI7bUNBQ3VCLEVBQzFCO0lBdEJMLEFBd0JJLGNBeEJVLENBd0JWLFNBQVMsRUF4QmIsQUF3QmUsY0F4QkQsQ0F3QkMsS0FBSyxDQUFDO01BQ2IsU0FBUyxFQUFFLElBQUksR0FDbEI7SUExQkwsQUE0QkksY0E1QlUsQ0E0QlYsZ0JBQWdCLEFBQ1osV0FBWSxDQUFDO01BQ1QsU0FBUyxFQUFFLElBQUksR0FDbEI7SUEvQlQsQUFrQ0ksY0FsQ1UsQ0FrQ1YsWUFBWSxDQUFDO01BQUMsV0FBVyxFQUFFLEdBQUcsR0FBSTtFQUt0QyxzQ0FBc0M7O0FDN0oxQzs7OztHQUlHO0FBQ0gsQUFBQSxRQUFRLEFBQUEsb0JBQW9CLENBQUM7RUFFekIsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtFQUM5QyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyx5QkFBeUI7RUFDM0MsYUFBYSxFQUFFLEdBQUcsR0FFckI7O0FBQ0QsQUFBYSxZQUFELENBQUMsa0JBQWtCLENBQUM7RUFDL0IsTUFBTSxFQUFFLE9BQU8sR0FDZjs7QUFDRCxBQUFBLG1CQUFtQixDQUFDO0VBQ25CLE1BQU0sRUFBRSxJQUFJLEdBQ1o7O0FBQ0QsQUFBa0MsdUJBQVgsQUFBQSxRQUFRLEdBQUcsTUFBTSxDQUFDO0VBQ3hDLElBQUksRUFBRSxJQUFJLEdBRVY7O0FBQ0QsQUFBaUMsc0JBQVgsQUFBQSxRQUFRLEdBQUcsTUFBTSxDQUFDO0VBQ3ZDLEdBQUcsRUFBRSxJQUFJLEdBQ1Q7O0FBQ0QsQUFBbUMsd0JBQVgsQUFBQSxRQUFRLEdBQUcsTUFBTSxDQUFDO0VBQ3pDLElBQUksRUFBRSxJQUFJO0VBQ1YsS0FBSyxFQUFFLElBQUksR0FDWDs7QUFDRCxBQUFvQyx5QkFBWCxBQUFBLFFBQVEsR0FBRyxNQUFNLENBQUM7RUFDMUMsR0FBRyxFQUFFLElBQUk7RUFDVCxNQUFNLEVBQUUsR0FBRyxHQUNYOztBQUNELEFBQXFCLG9CQUFELENBQUMsY0FBYyxDQUFDO0VBQ25DLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ2xCOztBQUNELEFBQW9DLG9CQUFoQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7RUFDeEMsTUFBTSxFQUFFLE9BQU8sR0FDZjs7QUFDRCxBQUFxQixvQkFBRCxDQUFDLGdCQUFnQixDQUFDO0VBQ3JDLGdCQUFnQixFQUFFLE9BQU87RUFDekIsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFDRCxBQUFBLGdCQUFnQixBQUFBLFdBQVcsQ0FBQztFQUMzQjttQ0FDa0MsRUFDbEM7O0FBQ0QsQUFBQSxrQkFBa0IsQ0FBQztFQUNsQixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQjtFQUN4QyxhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLE9BQU87RUFDakIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsNkRBQTZEO0VBQzdELHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixrQkFBa0IsRUFBRSxJQUFJO0VBQ3hCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsZUFBZSxFQUFFLElBQUk7RUFDckIsV0FBVyxFQUFFLElBQUksR0FDakI7O0FBQ0QsQUFBQSxtQkFBbUI7QUFDbkIsQUFBQSxpQkFBaUIsQ0FBQztFQUNqQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLElBQUk7RUFDVixHQUFHLEVBQUUsSUFBSSxHQUNUOztBQUNELEFBQUEsb0JBQW9CLENBQUM7RUFDcEIsVUFBVSxFQUFFLE1BQU0sR0FDbEI7O0FBQ0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNqQixhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsT0FBTyxHQUNmOztBQUNELEFBQUEsaUJBQWlCLEFBQUEsT0FBTztBQUN4QixBQUFBLGlCQUFpQixBQUFBLE1BQU0sQ0FBQztFQUN2QixnQkFBZ0IsRUFBRSxxQkFBb0IsR0FDdEM7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsWUFBWSxFQUFFLE9BQU87RUFDckIsc0JBQXNCLEVBQUUsQ0FBQztFQUN6Qix1QkFBdUIsRUFBRSxDQUFDO0VBQzFCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLE1BQU0sR0FDZjs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLE1BQU0sQ0FBQztFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGdCQUFnQixFQUFFLE9BQU8sR0FDekI7O0FBQ0QsQUFBQSxtQkFBbUIsQUFBQSxNQUFNLENBQUM7RUFDekIsT0FBTyxFQUFFLElBQUksQ0FBQSxVQUFVLEdBQ3ZCOztBQUNELEFBQUEsaUJBQWlCLENBQUM7RUFDakIsa0JBQWtCLEVBQUUsc0NBQXNDO0VBQzFELGVBQWUsRUFBRSxtQ0FBbUM7RUFDcEQsY0FBYyxFQUFFLGtDQUFrQztFQUNsRCxhQUFhLEVBQUUsaUNBQWlDO0VBQ2hELFVBQVUsRUFBRSw4QkFBOEIsR0FDMUM7O0FBQ0QsQUFBQSxxQkFBcUIsQ0FBQztFQUNyQixPQUFPLEVBQUUsQ0FBQyxHQUNWOztBQUNELEFBQUEsa0JBQWtCLEFBQUEscUJBQXFCLENBQUM7RUFDdkMsaUJBQWlCLEVBQUUsZUFBZTtFQUNsQyxjQUFjLEVBQUUsZUFBZTtFQUMvQixhQUFhLEVBQUUsZUFBZTtFQUM5QixZQUFZLEVBQUUsZUFBZTtFQUM3QixTQUFTLEVBQUUsZUFBZSxHQUMxQjs7QUFDRCxBQUFBLG9CQUFvQixBQUFBLHFCQUFxQixDQUFDO0VBQ3pDLGlCQUFpQixFQUFFLGVBQWE7RUFDaEMsY0FBYyxFQUFFLGVBQWE7RUFDN0IsYUFBYSxFQUFFLGVBQWE7RUFDNUIsWUFBWSxFQUFFLGVBQWE7RUFDM0IsU0FBUyxFQUFFLGVBQWEsR0FDeEI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNuQixrQkFBa0IsRUFBRSxhQUFhO0VBQ2pDLGVBQWUsRUFBRSxhQUFhO0VBQzlCLGNBQWMsRUFBRSxhQUFhO0VBQzdCLGFBQWEsRUFBRSxhQUFhO0VBQzVCLFVBQVUsRUFBRSxhQUFhLEdBQ3pCOztBQUNELEFBQUEsdUJBQXVCLENBQUM7RUFDdkIsT0FBTyxFQUFFLElBQUksR0FDYjs7QUFDRCxBQUFBLDJCQUEyQjtBQUMzQixBQUFBLHNCQUFzQixDQUFDO0VBQ3RCLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLE9BQU8sR0FDYjs7QUFDRCxBQUFBLHNCQUFzQixDQUFDO0VBQ3RCLE1BQU0sRUFBRSxJQUFJO0VBQ1osSUFBSSxFQUFFLE9BQ1AsR0FBRTs7QUFDRixBQUFBLDRCQUE0QixDQUFDO0VBQzVCLElBQUksRUFBRSxxQkFBb0IsR0FDMUI7O0FBQ0QsQUFBb0IsbUJBQUQsQ0FBQyxJQUFJLENBQUM7RUFDeEIsTUFBTSxFQUFFLE9BQU87RUFDZixZQUFZLEVBQUUsQ0FBQztFQUNmLGNBQWMsRUFBRSxLQUFLO0VBQ3JCLGdDQUFnQyxFQUNoQzs7QUFDRCxBQUFBLG1CQUFtQixBQUFBLFVBQVUsQ0FBQztFQUM3QixNQUFNLEVBQUUsR0FBRztFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWlCO0VBQ25DLGFBQWEsRUFBRSxHQUFHLEdBRWxCOztBQUNELEFBQUEsbUJBQW1CLEFBQUEsVUFBVSxDQUFDO0VBQzdCLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBaUI7RUFDbkMsYUFBYSxFQUFFLEdBQUcsR0FDbEI7O0FDN0tELDZCQUE2QjtBQUU3QiwwQ0FBMEM7QUFJMUMsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxLQUFLO0ViRmpCLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VhQ2pCLE1BQU0sRUFBRSxtQkFBbUI7RUFDM0IsS0FBSyxFQUFFLElBQUk7RUFDWCxRQUFRLEVBQUUsUUFBUTtFQW1NbEI7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkcsRUFDTjtFQTFORCxBQVNJLGtCQVRjLENBU2QsY0FBYyxDQUFDO0lBQ1gsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLEdBQUc7SUFDZixNQUFNLEVBQUUsY0FBYztJQUN0QixPQUFPLEVBQUUsR0FBRztJQUNaLE9BQU8sRUFBRSxJQUFJLEdBaUNoQjtJQS9DTCxBQWdCUSxrQkFoQlUsQ0FTZCxjQUFjLENBT1YsZUFBZSxDQUFDO01BQ1osVUFBVSxFQUFFLE9BQU87TUFDbkIsWUFBWSxFQUFFLEdBQUc7TUFDakIsWUFBWSxFQUFFLEdBQUc7TUFDakIsSUFBSSxFQUFFLFNBQVM7TUFDZixLQUFLLEVoQkxSLE9BQTBELEdnQk0xRDtJQXRCVCxBQXdCUSxrQkF4QlUsQ0FTZCxjQUFjLENBZVYsWUFBWSxDQUFDO01BQ1QsSUFBSSxFQUFFLFFBQVE7TUFDZCxzQkFBc0I7TUFtQnRCLDBCQUEwQixFQUM3QjtNQTlDVCxBQTJCWSxrQkEzQk0sQ0FTZCxjQUFjLENBZVYsWUFBWSxDQUdSLGVBQWUsQ0FBQztRQUNaLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO01BOUJiLEFBZ0M0QixrQkFoQ1YsQ0FTZCxjQUFjLENBZVYsWUFBWSxDQVFSLGVBQWUsRUFBQyxBQUFBLElBQUMsQ0FBRCxJQUFDLEFBQUEsRUFBVztRQUN4QixNQUFNLEVBQUUsT0FBTztRQUNmLE9BQU8sRUFBRSxLQUFLO1FBQ2QsU0FBUyxFQUFFLEtBQUs7UUFDaEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixVQUFVLEVBQUUsSUFBSTtRQUNoQixTQUFTLEVBQUUsSUFBSTtRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLENBQUM7UUFDUixVQUFVLEVBQUUsS0FBSztRQUNqQixHQUFHLEVBQUUsQ0FBQyxHQUNUO0VBNUNiLEFBbURVLGtCQW5EUSxDQWlEZCxhQUFhLEdBRVAsR0FBRyxDQUFDO0lBQ0YsVUFBVSxFQUFFLFNBQVM7SUFDckIsSUFBSSxFQUFFLFFBQVE7SUFDZCxjQUFjLEVBQUUsUUFBUTtJQUN4QixPQUFPLEVBQUUsZUFBZSxHQWEzQjtJQXBFVCxBQXlEWSxrQkF6RE0sQ0FpRGQsYUFBYSxHQUVQLEdBQUcsQ0FNRCxLQUFLLENBQUM7TUFDRixVQUFVLEVBQUUsS0FBSztNQUNqQixNQUFNLEVBQUUsV0FBVztNQUNuQixPQUFPLEVBQUUsTUFBTTtNQUNmLEtBQUssRUFBRSxLQUFLO01BQ1osTUFBTSxFQUFFLElBQUksR0FDZjtJQS9EYixBQWlFWSxrQkFqRU0sQ0FpRGQsYUFBYSxHQUVQLEdBQUcsQ0FjRCxLQUFLLENBQUM7TUFDRixXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQW5FYixBQXNFUSxrQkF0RVUsQ0FpRGQsYUFBYSxDQXFCVCxpQkFBaUIsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBeEVULEFBMkVJLGtCQTNFYyxDQTJFZCxXQUFXLENBQUM7SUFDUixRQUFRLEVBQUUsSUFBSTtJQUNkLE9BQU8sRUFBRSxXQUFXLEdBQ3ZCO0VBOUVMLEFBZ0ZJLGtCQWhGYyxDQWdGZCxrQkFBa0IsQ0FBQztJQUNmLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLE1BQU0sRUFBRSxXQUFXLEdBUXRCO0lBN0ZMLEFBZ0ZJLGtCQWhGYyxDQWdGZCxrQkFBa0IsQUFPZCxNQUFPLEVBdkZmLEFBZ0ZJLGtCQWhGYyxDQWdGZCxrQkFBa0IsQUFPTCxNQUFPLENBQUM7TUFDYixLQUFLLEVoQnhFUixPQUEwRDtNZ0J5RXZELGdCQUFnQixFaEJsRXBCLE9BQXlEO01nQm1FckQsWUFBWSxFaEJ4RWYsT0FBMEQ7TWdCeUV2RCxVQUFVLEVBQUUsRUFBRSxHQUNqQjtFQTVGVCxBQStGSSxrQkEvRmMsQ0ErRmQsY0FBYyxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixVQUFVLEVBQUUsSUFBSTtJQUNoQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxtQkFBZ0IsR0FLMUI7SUF6R0wsQUFzR1Esa0JBdEdVLENBK0ZkLGNBQWMsQ0FPVixDQUFDLENBQUM7TUFDRSxNQUFNLEVBQUUsR0FBRyxHQUNkO0VBeEdULEFBMkdJLGtCQTNHYyxDQTJHZCxZQUFZLENBQUM7SUFDVCxVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QUFFRCxVQUFVLENBQVYsY0FBVTtFQUNOLEFBQUEsRUFBRTtJQUNFLFNBQVMsRUFBRSxRQUFRO0lBQ25CLE1BQU0sRUFBRSw4QkFBc0M7SUFDOUMsT0FBTyxFQUFFLElBQUk7RUFHakIsQUFBQSxHQUFHO0lBQ0MsU0FBUyxFQUFFLFVBQVUsQ0FBQyxpQkFBZ0I7SUFDdEMsTUFBTSxFQUFFLGlDQUF5QztJQUNqRCxPQUFPLEVBQUUsSUFBSTtJQUNiLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsT0FBTyxFQUFFLEdBQUc7RUEzSHhCLEFBK0hJLGtCQS9IYyxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUFDO0lBQ3RCLDBCQUEwQjtJQUMxQixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2Ysc0JBQXNCLEVBcUV6QjtJQXhNTCxBQW9JUSxrQkFwSVUsQ0ErSGQsV0FBVyxBQUFBLGNBQWMsQ0FLckIsY0FBYyxFQXBJdEIsQUFvSXdCLGtCQXBJTixDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtMLHFCQUFxQixDQUFDO01BQ2xDLFVBQVUsRUFBRSxNQUFNO01BQ2xCLElBQUksRUFBRSxRQUFRO01BQ2QsTUFBTSxFQUFFLElBQUk7TUFDWixNQUFNLEVBQUUscUJBQXFCO01BQzdCLFFBQVEsRUFBRSxPQUFPO01BQ2pCLE9BQU8sRUFBRSxlQUFlO01BQ3hCLE1BQU0sRUFBRSxHQUFHO01BQ1gsNkNBQTZDO01BQzdDLGFBQWEsRUF3RGhCO01Bck1ULEFBb0lRLGtCQXBJVSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLEFBVVgsTUFBUSxFQTlJbkIsQUFvSXdCLGtCQXBJTixDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtMLHFCQUFxQixBQVVsQyxNQUFRLENBQUM7UUFDSixPQUFPLEVBQUUsZUFDYixHQUFFO01BaEpkLEFBb0lRLGtCQXBJVSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLEFBY1gsbUJBQXFCLEVBbEpoQyxBQW9Jd0Isa0JBcElOLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLEFBY2xDLG1CQUFxQixDQUFDO1FBQ2pCLE9BQU8sRUFBRSw2QkFBNkI7UUFDdEMsU0FBUyxFQUFFLG1CQUFtQixHQUNqQztNQXJKYixBQW9JUSxrQkFwSVUsQ0ErSGQsV0FBVyxBQUFBLGNBQWMsQ0FLckIsY0FBYyxBQW1CWCxTQUFXLEVBdkp0QixBQW9Jd0Isa0JBcElOLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLEFBbUJsQyxTQUFXLENBQUM7UUFDUCxPQUFPLEVBQUUsY0FBYyxHQU8xQjtRQS9KYixBQTJKc0Isa0JBM0pKLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS3JCLGNBQWMsQUFtQlgsU0FBVyxDQUdOLGFBQWEsR0FDUCxJQUFJLEVBM0oxQixBQTJKc0Isa0JBM0pKLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLEFBbUJsQyxTQUFXLENBR04sYUFBYSxHQUNQLElBQUksQ0FBQztVQUNILE9BQU8sRUFBRSxJQUNiLEdBQUU7TUE3SnRCLEFBbUtZLGtCQW5LTSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLENBK0JWLGFBQWEsRUFuS3pCLEFBbUtZLGtCQW5LTSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtMLHFCQUFxQixDQStCakMsYUFBYSxDQUFDO1FBQ1YsVUFBVSxFQUFFLEdBQUc7UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsSUFBSTtRQUNmLEtBQUssRUFBRSxtQkFBZ0I7UUFDdkIsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsU0FBUztRQUNyQixhQUFhLEVBQUUsUUFBUSxHQWdCMUI7UUExTGIsQUE2S29CLGtCQTdLRixDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLENBK0JWLGFBQWEsQ0FTVCxnQkFBZ0IsQ0FDWixLQUFLLEVBN0t6QixBQTZLb0Isa0JBN0tGLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLENBK0JqQyxhQUFhLENBU1QsZ0JBQWdCLENBQ1osS0FBSyxDQUFDO1VBQ0YsS0FBSyxFQUFFLE9BQU87VUFDZCxNQUFNLEVBQUUsSUFBSTtVQUNaLFVBQVUsRUFBTyx3QkFBSztVQUN0QixPQUFPLEVBQUUsS0FBSyxHQUNqQjtRQWxMckIsQUFvTG9CLGtCQXBMRixDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLENBK0JWLGFBQWEsQ0FTVCxnQkFBZ0IsQ0FRWixNQUFNLEVBcEwxQixBQW9Mb0Isa0JBcExGLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLENBK0JqQyxhQUFhLENBU1QsZ0JBQWdCLENBUVosTUFBTSxDQUFDO1VBQ0gsVUFBVSxFQUFFLEdBQUc7VUFDZixVQUFVLEVBQU8sd0JBQUs7VUFDdEIsTUFBTSxFQUFFLGNBQWMsR0FDekI7TUF4THJCLEFBb0lRLGtCQXBJVSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQUtyQixjQUFjLEFBd0RYLE1BQVEsRUE1TG5CLEFBb0l3QixrQkFwSU4sQ0ErSGQsV0FBVyxBQUFBLGNBQWMsQ0FLTCxxQkFBcUIsQUF3RGxDLE1BQVEsQ0FBQztRQUNKLDJCQUEyQjtRQUMzQixVQUFVLEVBaE1ELE9BQWtCLEdBaU05QjtNQS9MYixBQW9JUSxrQkFwSVUsQ0ErSGQsV0FBVyxBQUFBLGNBQWMsQ0FLckIsY0FBYyxBQTZEWCxTQUFXLEVBak10QixBQW9Jd0Isa0JBcElOLENBK0hkLFdBQVcsQUFBQSxjQUFjLENBS0wscUJBQXFCLEFBNkRsQyxTQUFXLENBQUM7UUFDUCxVQUFVLEVBQU8sc0JBQU87UUFDeEIsMkJBQTJCLEVBQzlCO0lBcE1iLEFBdU1RLGtCQXZNVSxDQStIZCxXQUFXLEFBQUEsY0FBYyxDQXdFckIscUJBQXFCLENBQUM7TUFBQyxPQUFPLEVBQUUsR0FBRyxHQUFJOztBQXFCL0MsQUFBQSxhQUFhLENBQUM7RUFDVixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRLEdBNEVyQjtFQS9FRCxBQUtJLGFBTFMsQ0FLVCxRQUFRLENBQUM7SUFDTCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxNQUFNO0lBQ2IsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFUTCxBQVdJLGFBWFMsQ0FXVCxHQUFHLENBQUM7SUFDQSxPQUFPLEVBQUUsS0FBSyxHQUNqQjtFQWJMLEFBZUksYUFmUyxDQWVULGFBQWEsQ0FBQztJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsSUFBSSxFQUFFLE1BQU07SUFDWixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxrQkFBa0I7SUFDN0IsUUFBUSxFQUFFLE1BQU0sR0FDbkI7RUF0QkwsQUF3QkksYUF4QlMsQ0F3QlQsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEdBQUcsR0FDZjtFQTFCTCxBQTRCSSxhQTVCUyxDQTRCVCxHQUFHLENBQUM7SUFDQSxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsQ0FBQyxHQUNUO0VBL0JMLEFBbUNJLGFBbkNTLENBbUNULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBckNMLEFBdUNJLGFBdkNTLENBdUNULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBekNMLEFBMkNJLGFBM0NTLENBMkNULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBN0NMLEFBK0NJLGFBL0NTLENBK0NULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBakRMLEFBbURJLGFBbkRTLENBbURULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxPQUFPLEdBQ2pCO0VBckRMLEFBdURJLGFBdkRTLENBdURULEdBQUcsQUFBQSxRQUFRLENBQUM7SUFDUixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxZQUFZLEdBQ3hCO0VBMURMLEFBNERJLGFBNURTLENBNERULFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUE5REwsQUFnRUksYUFoRVMsQ0FnRVQsU0FBUyxDQUFDO0lBQ04sU0FBUyxFQUFFLElBQUk7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsS0FBSyxFQUFFLE9BQU8sR0FDakI7RUFyRUwsQUF1RUksYUF2RVMsQ0F1RVQsR0FBRyxBQUFBLFNBQVMsQ0FBQztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxTQUFTO0lBQ2QsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSwyQ0FBd0MsR0FDbkQ7O0FBTUwsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsYUFBYSxFQUFFLG1CQUFtQixHQWVyQztFQXBCRCxBQU9JLGdCQVBZLENBT1osWUFBWSxDQUFDO0lBQ1QsUUFBUSxFQUFFLE1BQU07SUFDaEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsYUFBYSxFQUFFLFFBQVEsR0FDMUI7RUFYTCxBQWFJLGdCQWJZLENBYVosV0FBVyxDQUFDO0lBQ1IsS0FBSyxFQUFFLEVBQUU7SUFBRyw0QkFBNEI7SUFDeEMsTUFBTSxFQUFFLEdBQUc7SUFDWCxVQUFVLEVBQUUsT0FBZ0I7SUFDNUIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixhQUFhLEVBQUUsR0FBRyxHQUNyQjs7QUFLTCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsNENBQTRDO0VBQzVDLFVBQVUsRUFBRSxvQkFBb0I7RUFDaEMsT0FBTyxFQUFFLE9BQU87RUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FLckI7RUFURCxBQU1JLGtCQU5jLENBTWQsSUFBSSxDQUFDO0lBQ0QsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FFbFZMLFNBQVM7RUFDTCxJQUFJLEVBQUUsR0FBRztFQUNULEtBQUssRUFBRSxZQUFZOztBQUd2QixBQUFBLElBQUksQ0FBQztFQUNELFlBQVksRUFBRSxZQUFZO0VBQUksb0RBQW9ELEVBQ3JGOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0QsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixXQUFXLEVBQUUsaUpBQWlKO0VBQzlKLEtBQUssRWxCbUNELG1CQUFPLEdrQmxDZDs7QUFFRDs7R0FFRztBQUtILEFBQUEsZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FrQmhGO0VBbkJELEFBR00sZUFIUyxDQUdYLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDRixNQUFNLEVBQUUsU0FBUyxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEdBQ2pGO0VBTEwsQUFPSSxlQVBXLENBT1gsQ0FBQyxDQUFDO0lBQ0UsVUFBVSxFQUFFLGVBQWU7SUFDM0IsV0FBVyxFQUFFLGVBQWUsR0FDL0I7RUFWTCxBQVlJLGVBWlcsQ0FZWCxVQUFVLENBQUM7SUFDUCxPQUFPLEVBQUUsY0FBYyxHQUMxQjtFQWRMLEFBZ0JJLGVBaEJXLENBZ0JYLGlCQUFpQixDQUFDO0lBQ2QsZ0JBQWdCLEVBQUUsa0JBQWtCLEdBQ3ZDOztBQUVMOzs7OztHQUtHO0FBQ0gsQUFBQSxhQUFhLENBQUM7RUFDVixnQ0FBZ0MsRUFDbkM7O0FBRUQsdUJBQXVCO0FBRXZCLGVBQWU7QUFDZix3Q0FBd0M7QUFFeEMsQUFBQSxDQUFDLENBQUM7RUFDRSxLQUFLLEVsQnhDQSxPQUEwRDtFa0J5Qy9ELFdBQVcsRWpCK1BJLE1BQU0sR2lCOVB4Qjs7QUFFRCxBQUFBLENBQUMsQUFBQSxNQUFNLEVBQUUsQUFBQSxDQUFDLEFBQUEsTUFBTSxFQUFFLEFBQUEsQ0FBQyxBQUFBLE9BQU8sQ0FBQztFQUN2QixLQUFLLEVsQjdDQSxPQUEwRCxHa0I4Q2xFOztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0YsVUFBVSxFQUFFLFdBQ2hCLEdBQUU7O0FBR0YsQUFBQSxFQUFFLEFBQUEsVUFBVSxDQUFDO0VBQ1QsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FBRUQ7O0VBRUU7QUFDRixBQUFlLGNBQUQsQ0FBQyxFQUFFLENBQUM7RUFDZCxXQUFXLEVBQUUsTUFBTSxHQUN0Qjs7QUFDRCx5QkFBeUI7QUFDekI7Ozs7Ozs7OztHQVNHO0FBRUgsc0JBQXNCO0FBR3RCLEFBQUEsSUFBSSxBQUFBLE1BQU0sRUFBRSxBQUFBLElBQUksQUFBQSxPQUFPLEFBQUEsTUFBTSxFQUFFLEFBQUEsSUFBSSxBQUFBLE9BQU8sQUFBQSxNQUFNLEVBQUUsQUFBQSxJQUFJLEFBQUEsTUFBTSxFQUFFLEFBQUEsSUFBSSxBQUFBLE9BQU8sQUFBQSxNQUFNLEVBQUUsQUFBQSxJQUFJLEFBQUEsT0FBTyxBQUFBLE1BQU0sQ0FBQztFQUMvRixPQUFPLEVBQUUsaUNBQWlDO0VBQzFDLGNBQWMsRUFBRSxHQUFHLEdBQ3RCOztBQUdELEFBQUEsSUFBSSxDQUFDO0VBQ0QsV0FBVyxFQUFFLElBQUk7RUFDakIsTUFBTSxFQUFFLHFCQUFxQjtFQUM3QixhQUFhLEVBQUUsQ0FBQztFQUNoQixZQUFZLEVBQUUsS0FBSztFQUNuQixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsa0JBQWM7RUFDdEMsYUFBYSxFQUFFLENBQUMsR0FvQm5CO0VBMUJELEFBU0ksSUFUQSxBQVNBLFlBQWEsQ0FBQztJQUNWLFVBQVUsRWxCL0RKLE9BQU8sR2tCZ0VoQjtFQVhMLEFBYUksSUFiQSxBQWFBLFlBQWEsQ0FBQztJQUNWLFVBQVUsRWxCbEdULE9BQTBEO0lrQm1HM0QsVUFBVSxFQUFFLElBQUksR0FDbkI7RUFoQkwsQUFrQkksSUFsQkEsQUFrQkEsTUFBTyxFQWxCWCxBQWtCYSxJQWxCVCxBQWtCUyxNQUFPLENBQUM7SUFDYixZQUFZLEVsQmhIWCxPQUF3QjtJa0JpSHpCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBYyxHQUMxQztFQXJCTCxBQXVCSSxJQXZCQSxBQXVCQSxPQUFRLEFBQUEsTUFBTSxDQUFDO0lBQ1gsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFjLEdBQzFDOztBQUdMLGtCQUFrQjtBQUVsQixBQUFBLFlBQVksQ0FBQztFQWtCVCxxQkFBcUIsRUFPeEI7RUF6QkQsQUFDSSxZQURRLENBQ1IsSUFBSSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsTUFBTSxFQUFFLHFCQUFxQixHQUNoQztFQUxMLEFBT0ksWUFQUSxDQU9SLElBQUksQUFBQSxNQUFNLEVBUGQsQUFPZ0IsWUFQSixDQU9JLElBQUksQUFBQSxNQUFNLENBQUM7SUFDbkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsQm5JaEIsT0FBd0IsR2tCb0k1QjtFQVRMLEFBV0ksWUFYUSxDQVdSLFlBQVksQ0FBQztJQUNULFVBQVUsRUFBRSxXQUFXLEdBQzFCO0VBYkwsQUFlSSxZQWZRLENBZVIsWUFBWSxDQUFDO0lBQ1QsVUFBVSxFbEJsSVQsT0FBMEQsR2tCbUk5RDtFQWpCTCxBQW1CSSxZQW5CUSxDQW1CUixJQUFJLEFBQUEsU0FBUyxDQUFDO0lBQ1YsVUFBVSxFbEJ0R1Ysd0JBQU87SWtCdUdQLDRCQUE0QjtJQUM1QixZQUFZLEVBQUUsQ0FBQztJQUNmLFNBQVMsRUFBRSxHQUFHLEdBQ2pCOztBQUdMLEFBQ0ksU0FESyxDQUFDLFVBQVUsQ0FDaEIsSUFBSSxBQUFBLFlBQVksQ0FBQztFQUNiLFVBQVUsRWxCL0lULE9BQTBEO0VrQmdKM0QsS0FBSyxFbEJoSEwsT0FBTztFa0JpSFAsTUFBTSxFakI3QlMsSUFBSTtFaUI4Qm5CLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQU5MLEFBUUksU0FSSyxDQUFDLFVBQVUsQ0FRaEIsSUFBSSxBQUFBLFlBQVksQUFBQSxNQUFNLENBQUM7RUFDbkIsVUFBVSxFbEJ0SlQsT0FBMEQsR2tCdUo5RDs7QUFJTDs7O0VBR0U7QUFFRiw4RUFBOEU7QUFFOUUsQUFBQSxvQkFBb0IsRUFBRSxBQUFBLGlCQUFpQixFQUFFLEFBQUEsaUJBQWlCLEVBQUUsQUFBQSxrQkFBa0IsQ0FBQztFQUMzRSxPQUFPLEVBQUUsTUFBTSxHQUNsQjs7QUFLRCxBQUNJLG9CQURnQixDQUNoQixrQkFBa0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJLENBQUEsVUFBVSxHQUMxQjs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFlBQVksRUFBRSxLQUFLO0VBQ25CLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLE1BQU0sRWpCK0dhLEdBQUcsQ0FBQyxLQUFLLENEclIzQixPQUFPO0VrQnVLUixZQUFZLEVBQUUsS0FBSztFQUNuQixjQUFjLEVBQUUsR0FBRztFQUNuQixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxLQUFLO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEVsQjFKTixPQUFPLEdrQnNLZDtFQXZCRCxBQWFJLGNBYlUsQUFhVixRQUFTLENBQUM7SUFDTixNQUFNLEVBQUUsV0FBVyxHQUN0QjtFQWZMLEFBaUJJLGNBakJVLEFBaUJWLE1BQU8sRUFqQlgsQUFpQmEsY0FqQkMsQUFpQkQsYUFBYyxDQUFDO0lBQ3BCLFlBQVksRWxCaE1YLE9BQTBEO0lrQmlNM0QsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtJQUM1QyxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUdMOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFNSCxBQUFBLDBCQUEwQixDQUFDO0VBQ3ZCLEtBQUssRUFBRSxLQUFLO0VBQ1osYUFBYSxFQUFFLFlBQVk7RUFDM0IsWUFBWSxFQUFFLFlBQVk7RUFDMUIsV0FBVyxFQUFFLEdBQUcsR0FhbkI7RUFqQkQsQUFNTSwwQkFOb0IsR0FNcEIsR0FBRyxDQUFDO0lBQ0YsS0FBSyxFQUFFLGVBQWUsR0FDekI7RUFSTCxBQVVJLDBCQVZzQixBQVV0QixNQUFPLENBQUM7SUFDSixZQUFZLEVsQjFPWCxPQUEwRDtJa0IyTzNELFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7SUFDNUMsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFLTCxBQUFBLDJCQUEyQixDQUFDO0VBQ3hCLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLEdBQUc7RUFxQlo7O09BRUcsRUFDTjtFQTFCRCxBQUtRLDJCQUxtQixBQUl2QixRQUFTLENBQ0wsS0FBSyxDQUFBLEFBQUEsUUFBQyxDQUFTLFVBQVUsQUFBbkIsR0FMZCxBQUtvQywyQkFMVCxBQUl2QixRQUFTLENBQ3VCLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUNsQztJQUNJLFVBQVUsRWxCN1BiLE9BQTBELEdrQjhQMUQ7RUFSVCxBQVVRLDJCQVZtQixBQUl2QixRQUFTLENBTUwsS0FBSyxBQUFBLGFBQWEsQ0FBQztJQUNmLEtBQUssRWxCL05ULHlCQUFPO0lrQmdPSCxTQUFTLEVqQnFFUyxPQUFPLEdpQnBFNUI7RUFiVCxBQWdCSSwyQkFoQnVCLENBZ0J2QixRQUFRLENBQUM7SUFDTCxNQUFNLEVBQUUsSUFBSSxHQUNmO0VBbEJMLEFBb0JJLDJCQXBCdUIsQ0FvQnZCLFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxJQUNYLEdBQUU7O0FBTU4sQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUVELEFBQUEsc0JBQXNCLEFBQUEsUUFBUSxDQUFDO0VBQzNCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixrQkFBa0I7RUFDbEIsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFtQixVQUFULEFBQUEsUUFBUSxDQUFDLHlCQUF5QixBQUFBLE9BQU8sQ0FBQztFQUNoRCxLQUFLLEVsQjlQRCx5QkFBTyxHa0IrUGQ7O0FBR0QsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE9BQU8sRUFBRSxJQUNiLEdBQUU7O0FBR0Y7OztFQUdFO0FBRUYsQUFBQSxTQUFTLENBQUM7RUFDTixNQUFNLEVBQUUsS0FBSztFQUNiLFlBQVksRUFBRSxLQUFLO0VBQ25CLFlBQVksRUFBRSxHQUFHO0VBQ2pCLE1BQU0sRUFBRSxjQUFjO0VBQ3RCLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixVQUFVLEVBQUUsSUFBSSxHQWtCbkI7RUF6QkQsQUFTSSxTQVRLLEFBU0wsTUFBTyxDQUFDO0lBQ0osWUFBWSxFbEJyVFgsT0FBMEQsQ2tCcVRsQixVQUFVO0lBQ25ELGdCQUFnQixFQUFFLGdCQUFnQjtJQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7SUFDNUMsVUFBVSxFQUFFLDZCQUE2QjtJQUN6QyxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQWhCTCxBQWtCSSxTQWxCSyxBQWtCTCxNQUFPLENBQUM7SUFDSixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7SUFDNUMsVUFBVSxFQUFFLDZCQUE2QjtJQUN6QyxhQUFhLEVBQUUsQ0FBQztJQUNoQixnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FDckM7O0FBSUwsb0VBQW9FO0FBRXBFLEFBQUEsUUFBUSxDQUFDO0VBQ0wsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixVQUFVLEVBQUUsT0FBTyxHQUN0Qjs7QUFFRCxBQUFBLFFBQVEsQ0FBQztFQUNMLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBRUQsNEJBQTRCO0FBQzVCLEFBQUEsc0JBQXNCLENBQUM7RUFFbkIsOEJBQThCO0VBQzlCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLGdCQUFnQixFbEJ4VFosT0FBTztFa0J5VFgsVUFBVSxFQUFFLDBEQUFrRztFQUM5RyxNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxLQUFLLEdBU25CO0VBaEJELEFBUUksc0JBUmtCLEFBUWxCLFNBQVUsQ0FBQztJQUNQLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLEdBQUc7SUFDUixJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxHQUFHO0lBQ1gsS0FBSyxFQUFFLEdBQUcsR0FDYjs7QUFHTCx5QkFBeUI7QUFDekIsQUFBQSxjQUFjLENBQUM7RUFDWCxzQkFBc0I7RUFDdEIsUUFBUSxFQUFFLFFBQVEsR0FLckI7RUFQRCxBQUlJLGNBSlUsQUFJVixNQUFPLENBQUM7SUFDSixPQUFPLEVBQUUsRUFBRSxHQUNkOztBQUdMLEFBQUEsa0JBQWtCLENBQUM7RUFDZixzQkFBc0I7RUFDdEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsUUFBUSxFQUFFLElBQUksR0FLakI7RUFURCxBQU1JLGtCQU5jLEFBTWQsTUFBTyxDQUFDO0lBQ0osT0FBTyxFQUFFLEVBQUUsR0FDZDs7QUFHTCxBQUFVLFNBQUQsQ0FBQyxlQUFlLENBQUM7RUFDdEIsT0FBTyxFQUFFLElBQ2IsR0FBRTs7QUFFRjs7S0FFSztBQUdMLG1CQUFtQjtBQUNuQix3QkFBd0I7QUFFeEIsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsQ0FBQztFQUNOLElBQUksRUFBRSxHQUFHO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEVBQUU7RUFDWCxnQkFBZ0IsRWxCL1daLE9BQU87RWtCZ1hYLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQUVELEFBQUEsb0JBQW9CLEFBQUEsT0FBTyxDQUFDO0VBQ3hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsY0FBYyxHQUN6Qjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUFFLGNBQWMsRUFDdkI7O0FBRUQsQUFBUSxPQUFELENBQUMsVUFBVSxFQUFFLEFBQVEsT0FBRCxDQUFDLEdBQUcsQ0FBQztFQUM1QixLQUFLLEVsQmpZRCxPQUFPLEdrQmtZZDs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUFFLGNBQWMsRUFDM0I7O0FBSUQ7Ozs7RUFJRTtBQUNGLEFBQUEsY0FBYyxDQUFDO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixhQUFhLEVBQUUsR0FBRztFQUNsQixjQUFjLEVBQUUsR0FBRztFQUNuQixLQUFLLEVsQmhaRCxPQUFPO0VrQmlaWCxVQUFVLEVsQmxiTCxPQUEwRDtFa0JrYjFCLHdCQUF3QixFQUNoRTs7QUFLRCxBQUFBLFlBQVksQUFBQSxTQUFTLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLENBQUM7RUFDTixJQUFJLEVBQUUsQ0FBQztFQUNQLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLENBQUMsR0FDWDs7QUFDRCwyQ0FBMkM7QUFDM0MsQUFBQSxlQUFlLENBQUM7RUFDWixRQUFRLEVBQUUsUUFBUTtFQUlkLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFVBQVUsRUFBRSxJQUFJLEdBcUN2QjtFQTNDRCxBQVFRLGVBUk8sQ0FRUCxVQUFVLEFBRU4sT0FBUSxDQUFDO0lBQ0wsS0FBSyxFQUFFLGtCQUFrQixHQUM1QjtFQVpiLEFBUVEsZUFSTyxDQVFQLFVBQVUsQUFNTixRQUFTLENBQUM7SUFDTixZQUFZLEVBQUUsT0FBTztJQUNyQixVQUFVLEVBQUUsT0FBa0IsQ0FBQyxVQUFVO0lBQ3pDLEtBQUssRWxCamJQLE9BQU8sQ2tCaWJjLFVBQVU7SUFDN0IsVUFBVSxFQUFHLElBQUcsQ0FBRSxJQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFlLENBQUMsS0FBSyxHQUtuRDtJQXZCYixBQVFRLGVBUk8sQ0FRUCxVQUFVLEFBTU4sUUFBUyxBQU1MLE9BQVEsQ0FBQztNQUNMLEtBQUssRWxCcmJYLE9BQU8sR2tCc2JKO0VBdEJqQixBQWtDTSxlQWxDUyxDQWtDVCxLQUFLLEVBbENYLEFBa0NlLGVBbENBLENBa0NBLENBQUMsQ0FBQztJQUNULFlBQVksRUFBRSxHQUFHLEdBQ3BCO0VBcENMLEFBc0NJLGVBdENXLENBc0NYLFNBQVMsRUF0Q2IsQUFzQ2UsZUF0Q0EsQ0FzQ0EsY0FBYyxDQUFDO0lBQ3RCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQU1MLEFBQUEsbUJBQW1CLENBQUM7RUFFWixPQUFPLEVBQUUsV0FBVztFQUNwQixVQUFVLEVBQUcsT0FBTyxHQU0zQjs7QUFHRCxBQUVJLEtBRkMsQ0FFRCxVQUFVLENBQUM7RUFDUCxZQUFZLEVBQUUsR0FBRztFQUNqQixNQUFNLEVBQUUsQ0FBQyxHQXlCWjtFQTdCTCxBQU1VLEtBTkwsQ0FFRCxVQUFVLEdBSUosRUFBRSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUM7SUFDVixRQUFRLEVBQUUsUUFBUSxHQW9CckI7SUE1QlQsQUFNVSxLQU5MLENBRUQsVUFBVSxHQUlKLEVBQUUsQUFJQSxPQUFRLEVBVnBCLEFBTVUsS0FOTCxDQUVELFVBQVUsR0FJSixFQUFFLEFBSVUsTUFBTyxDQUFDO01BQ2QsT0FBTyxFQUFFLENBQUM7TUFDVixHQUFHLEVBQUUsR0FBRztNQUNSLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBYztNQUN6QyxhQUFhLEVsQnZlckIsT0FBTyxHa0J3ZUY7SUFmYixBQWlCWSxLQWpCUCxDQUVELFVBQVUsR0FJSixFQUFFLENBV0EsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFbEJqZ0JoQixPQUFPO01rQmtnQkksYUFBYSxFQUFFLFdBQVc7TUFDMUIsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLFlBQVksR0FNeEI7TUEzQmIsQUF1QmtCLEtBdkJiLENBRUQsVUFBVSxHQUlKLEVBQUUsQ0FXQSxDQUFDLEdBTUssQ0FBQyxDQUFDO1FBRUEsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBMUJqQixBQStCSSxLQS9CQyxDQStCRCxZQUFZLENBQUM7RUFDVCx3Q0FBd0M7RUFFeEMsTUFBTSxFQUFFLElBQUksR0FFZjs7QUFHTCx3QkFBd0I7QUFFeEIsQUFBd0IscUJBQUgsR0FBRyxlQUFlLEFBQUEsSUFBSyxDQUFBLEFBQUEsWUFBWSxFQUFFO0VBQ3RELFVBQVUsRUFBRSxlQUFlLEdBQzlCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ1osT0FBTyxFQUFFLEtBQUs7RWZ6akJkLHFCQUFxQixFQUFFLElBQUk7RUFDM0IsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJLEdld2pCcEI7O0FBRUQsMkNBQTJDO0FBRTNDLEFBQUEsVUFBVSxDQUFDO0VBQ1AsUUFBUSxFQUFFLFFBQVE7RUFDbEIsYUFBYSxFQUFFLEtBQUssR0FrQ3ZCO0VBcENELEFBSUksVUFKTSxBQUlOLE9BQVEsQ0FBQztJQUNMLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYOzs7VUFHRTtJQUNGLFdBQVcsRUFBRSxXQUFXO0lBRXhCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBbEJMLEFBb0JJLFVBcEJNLEFBb0JOLFFBQVMsQ0FBQztJQUNOLFlBQVksRWxCdGlCWixPQUFPO0lrQnVpQlAsbUJBQW1CLEVBQUUsV0FBVztJQUNoQyxzQkFBc0IsRUFBRSxHQUFHO0lBQzNCLHVCQUF1QixFQUFFLEdBQUc7SUFDNUIseUJBQXlCLEVBQUUsQ0FBQztJQUM1QiwwQkFBMEIsRUFBRSxDQUFDO0lBQzdCLFVBQVUsRWxCeGtCVCxPQUEwRCxDa0J3a0JuQixVQUFVO0lBQ2xELEtBQUssRWxCMWlCTCx5QkFBTyxDa0IwaUJ1QixVQUFVO0lBQ3hDLFVBQVUsRUFBRSxJQUFJLEdBQ25CO0VBOUJMLEFBZ0NJLFVBaENNLEFBZ0NOLFFBQVMsQUFBQSxPQUFPLENBQUM7SUFDYiwyQ0FBMkM7SUFDM0MsT0FBTyxFQUFFLE9BQU8sR0FDbkI7O0FBSUwsc0JBQXNCO0FBRXRCLEFBQUEsaUJBQWlCLENBQUM7RUFFZCxjQUFjLEVBQUUsS0FBSztFQUNyQixXQUFXLEVBQUUsS0FBSyxHQUNyQjs7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFHSCxBQUFBLFFBQVEsQ0FBQztFQU9MOzs7O09BSUcsRUFDTjtFQVpELEFBQ0ksUUFESSxDQUNKLGlCQUFpQixDQUFDO0lBQ2QsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixHQUFHLEVBQUUsQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBVUwsQUFBQSxpQkFBaUIsRUFBRSxBQUFBLGNBQWMsQ0FBQztFQUM5QixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEVqQmpVSSxHQUFHLENBQUMsS0FBSyxDRDNUckIsT0FBMEQ7RWtCNm5CL0QsS0FBSyxFbEI5bEJELE9BQU87RWtCK2xCWCxVQUFVLEVsQmhvQkwsT0FBMEQ7RWtCaW9CL0QsVUFBVSxFakJ2bEJELEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFlO0VpQndsQnJDLDRCQUE0QjtFQXdDNUIsMkJBQTJCO0VBMEYzQiw0RkFBNEYsRUFPL0Y7RUEvSUQsQUFPSSxpQkFQYSxDQU9iLGNBQWMsRUFQQyxBQU9mLGNBUDZCLENBTzdCLGNBQWMsQ0FBQztJQUNYLEtBQUssRWxCbm1CTCxLQUFPO0lrQm9tQlAsTUFBTSxFakJyVXNCLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVztJaUJzVWpELFVBQVUsRWxCdm9CVCxPQUEwRDtJa0J3b0IzRDs7V0FFRyxFQVFOO0lBckJMLEFBT0ksaUJBUGEsQ0FPYixjQUFjLEFBT1gsTUFBUSxFQWRJLEFBT2YsY0FQNkIsQ0FPN0IsY0FBYyxBQU9YLE1BQVEsQ0FBQztNQUNKLFlBQVksRWxCem9CZixPQUEwRCxHa0Iwb0IxRDtJQWhCVCxBQU9JLGlCQVBhLENBT2IsY0FBYyxBQVdYLFFBQVUsRUFsQkUsQUFPZixjQVA2QixDQU83QixjQUFjLEFBV1gsUUFBVSxDQUFDO01BQ04sZ0JBQWdCLEVsQi9vQm5CLE9BQTBELEdrQmdwQjFEO0VBcEJULEFBd0JJLGlCQXhCYSxDQXdCYixjQUFjLEFBRVgsMkJBQTZCLEVBMUJqQixBQXdCZixjQXhCNkIsQ0F3QjdCLGNBQWMsQUFFWCwyQkFBNkIsQ0FBQztJQUFFLHlCQUF5QjtJQUNwRCxLQUFLLEVsQnRuQlQseUJBQU87SWtCdW5CSCxTQUFTLEVqQmxWUyxPQUFPLEdpQm1WNUI7RUE3QlQsQUF3QkksaUJBeEJhLENBd0JiLGNBQWMsQUFPWCxrQkFBb0IsRUEvQlIsQUF3QmYsY0F4QjZCLENBd0I3QixjQUFjLEFBT1gsa0JBQW9CLENBQUM7SUFBRSxpQkFBaUI7SUFDbkMsS0FBSyxFbEIzbkJULHlCQUFPO0lrQjRuQkgsU0FBUyxFakJ2VlMsT0FBTyxHaUJ3VjVCO0VBbENULEFBd0JJLGlCQXhCYSxDQXdCYixjQUFjLEFBWVgsc0JBQXdCLEVBcENaLEFBd0JmLGNBeEI2QixDQXdCN0IsY0FBYyxBQVlYLHNCQUF3QixDQUFDO0lBQUUsWUFBWTtJQUNsQyxLQUFLLEVsQmhvQlQseUJBQU87SWtCaW9CSCxTQUFTLEVqQjVWUyxPQUFPLEdpQjZWNUI7RUF2Q1QsQUF3QkksaUJBeEJhLENBd0JiLGNBQWMsQUFpQlgsYUFBZSxFQXpDSCxBQXdCZixjQXhCNkIsQ0F3QjdCLGNBQWMsQUFpQlgsYUFBZSxDQUFDO0lBQ1gsS0FBSyxFbEJyb0JULHlCQUFPO0lrQnNvQkgsU0FBUyxFakJqV1MsT0FBTyxHaUJrVzVCO0VBNUNULEFBK0NJLGlCQS9DYSxDQStDYixvQkFBb0IsQUFFakIsMkJBQTZCLEVBakRqQixBQStDZixjQS9DNkIsQ0ErQzdCLG9CQUFvQixBQUVqQiwyQkFBNkIsQ0FBQztJQUFFLHlCQUF5QjtJQUNwRCxLQUFLLEVsQjdvQlQseUJBQU87SWtCOG9CSCxTQUFTLEVqQnpXUyxPQUFPLEdpQjBXNUI7RUFwRFQsQUErQ0ksaUJBL0NhLENBK0NiLG9CQUFvQixBQU9qQixrQkFBb0IsRUF0RFIsQUErQ2YsY0EvQzZCLENBK0M3QixvQkFBb0IsQUFPakIsa0JBQW9CLENBQUM7SUFBRSxpQkFBaUI7SUFDbkMsS0FBSyxFbEJscEJULHlCQUFPO0lrQm1wQkgsU0FBUyxFakI5V1MsT0FBTyxHaUIrVzVCO0VBekRULEFBK0NJLGlCQS9DYSxDQStDYixvQkFBb0IsQUFZakIsc0JBQXdCLEVBM0RaLEFBK0NmLGNBL0M2QixDQStDN0Isb0JBQW9CLEFBWWpCLHNCQUF3QixDQUFDO0lBQUUsWUFBWTtJQUNsQyxLQUFLLEVsQnZwQlQseUJBQU87SWtCd3BCSCxTQUFTLEVqQm5YUyxPQUFPLEdpQm9YNUI7RUE5RFQsQUErQ0ksaUJBL0NhLENBK0NiLG9CQUFvQixBQWlCakIsYUFBZSxFQWhFSCxBQStDZixjQS9DNkIsQ0ErQzdCLG9CQUFvQixBQWlCakIsYUFBZSxDQUFDO0lBQ1gsS0FBSyxFbEI1cEJULHlCQUFPO0lrQjZwQkgsU0FBUyxFakJ4WFMsT0FBTyxHaUJ5WDVCO0VBbkVULEFBc0VJLGlCQXRFYSxDQXNFYix5QkFBeUIsQUFBQSxPQUFPLEVBdEVqQixBQXNFZixjQXRFNkIsQ0FzRTdCLHlCQUF5QixBQUFBLE9BQU8sQ0FBQztJQUM3QixLQUFLLEVsQmxxQkwseUJBQU8sR2tCbXFCVjtFQXhFTCxBQTBFSSxpQkExRWEsQ0EwRWIsU0FBUyxFQTFFYixBQTBFZSxpQkExRUUsQ0EwRUYsY0FBYyxFQTFFVixBQTBFZixjQTFFNkIsQ0EwRTdCLFNBQVMsRUExRU0sQUEwRUosY0ExRWtCLENBMEVsQixjQUFjLENBQUM7SUFDdEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUE1RUwsQUE4RUksaUJBOUVhLENBOEViLFNBQVMsRUE5RU0sQUE4RWYsY0E5RTZCLENBOEU3QixTQUFTLENBQUM7SUFDTixjQUFjLEVBQUUsR0FBRztJQUNuQixLQUFLLEVsQjNxQkwseUJBQU8sQ2tCMnFCMkIsVUFBVTtJQUM1QyxNQUFNLEVqQnBZZSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVc7SWlCcVkxQyxVQUFVLEVsQi9zQlQsT0FBMEQsR2tCcXRCOUQ7SUF4RkwsQUE4RUksaUJBOUVhLENBOEViLFNBQVMsQUFNTixNQUFRLEVBcEZmLEFBOEVJLGlCQTlFYSxDQThFYixTQUFTLEFBTUcsTUFBUSxFQXBGTCxBQThFZixjQTlFNkIsQ0E4RTdCLFNBQVMsQUFNTixNQUFRLEVBcEZJLEFBOEVmLGNBOUU2QixDQThFN0IsU0FBUyxBQU1HLE1BQVEsQ0FBQztNQUNiLFlBQVksRWxCL3NCZixPQUEwRCxDa0Irc0JkLFVBQVU7TUFDbkQsVUFBVSxFbEJodEJiLHVCQUEwRCxDa0JndEJMLFVBQVUsR0FDL0Q7RUF2RlQsQUEwRkksaUJBMUZhLENBMEZiLGVBQWUsRUExRkEsQUEwRmYsY0ExRjZCLENBMEY3QixlQUFlLENBQUM7SUFDWixVQUFVLEVsQnh0QlQsT0FBMEQsR2tCeXRCOUQ7RUE1RkwsQUE4Rk0saUJBOUZXLENBOEZYLFVBQVUsRUE5RmhCLEFBOEZvQixpQkE5RkgsQ0E4RkcsR0FBRyxFQTlGSixBQThGYixjQTlGMkIsQ0E4RjNCLFVBQVUsRUE5RkcsQUE4RkMsY0E5RmEsQ0E4RmIsR0FBRyxDQUFDO0lBQ2hCLEtBQUssRWxCMXJCTCx5QkFBTyxHa0IyckJWO0VBaEdMLEFBbUdVLGlCQW5HTyxDQWtHYixjQUFjLENBQ1IsVUFBVSxFQW5HcEIsQUFtR3dCLGlCQW5HUCxDQWtHYixjQUFjLENBQ00sR0FBRyxFQW5HUixBQW1HVCxjQW5HdUIsQ0FrRzdCLGNBQWMsQ0FDUixVQUFVLEVBbkdELEFBbUdLLGNBbkdTLENBa0c3QixjQUFjLENBQ00sR0FBRyxDQUFDO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsWUFBWSxFQUFFLE1BQU0sR0FDdkI7RUF0R1QsQUEwR0ksaUJBMUdhLENBMEdiLFVBQVUsQUFDUCxPQUFTLEVBM0dHLEFBMEdmLGNBMUc2QixDQTBHN0IsVUFBVSxBQUNQLE9BQVMsQ0FBQztJQUNMLEtBQUssRUFBRSx3QkFBcUIsR0FDL0I7RUE3R1QsQUEwR0ksaUJBMUdhLENBMEdiLFVBQVUsQUFLUCxRQUFVLEVBL0dFLEFBMEdmLGNBMUc2QixDQTBHN0IsVUFBVSxBQUtQLFFBQVUsQ0FBQztJQUNOLFVBQVUsRWxCMXVCYixPQUEwRCxDa0IwdUJmLFVBQVU7SUFDbEQsS0FBSyxFbEI1c0JULHlCQUFPLENrQjRzQjJCLFVBQVUsR0FDM0M7RUFsSFQsQUFxSEksaUJBckhhLENBcUhiLGtCQUFrQixFQXJISCxBQXFIZixjQXJINkIsQ0FxSDdCLGtCQUFrQixDQUFDO0lBQ2YsV0FBVyxFQUFFLEtBQUssR0FDckI7RUF2SEwsQUF5SEksaUJBekhhLENBeUhiLG9CQUFvQixFQXpITCxBQXlIZixjQXpINkIsQ0F5SDdCLG9CQUFvQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsWUFBWSxFQUFFLEtBQUs7SUFDbkIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsU0FBUyxFQUFFLFVBQVU7SUFNckIsT0FBTyxFQUFFLElBQUksR0FDaEI7SUF2SUwsQUFrSVEsaUJBbElTLENBeUhiLG9CQUFvQixDQVNoQixDQUFDLEVBbElVLEFBa0lYLGNBbEl5QixDQXlIN0Isb0JBQW9CLENBU2hCLENBQUMsQ0FBQztNQUNFLEtBQUssRWxCeHZCVCx3QkFBeUQsR2tCeXZCeEQ7RUFwSVQsQUEwSUksaUJBMUlhLENBMEliLGdCQUFnQixFQTFJRCxBQTBJZixjQTFJNkIsQ0EwSTdCLGdCQUFnQixDQUFDO0lBQ2IsS0FBSyxFbEJod0JMLHdCQUF5RDtJa0Jpd0J6RCxTQUFTLEVqQjdjWSxJQUFJLENpQjZjYyxVQUFVO0lBQ2pELFlBQVksRUFBRSxHQUFHLEdBQ3BCOztBQUtMLEFBQUEscUJBQXFCLENBQUM7RUFDbEIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsZ0JBQWdCLEVqQnBjSyxPQUFPO0VpQm9jZSxZQUFZO0VBQ3ZELFVBQVUsRWpCMXVCRCxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBZSxHaUIydUJ4Qzs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsT0FBTyxFQUFFLE1BQU07RUFDZixXQUFXLEVBQUUsS0FBSztFQUlsQjs7O2lCQUdhLEVBQ2hCOztBQUlELEFBQUEsc0JBQXNCLENBQUM7RUFDbkIsVUFBVSxFQUFFLG1DQUFrRSxHQUNqRjs7QUFFRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFDcEIsQUFBQSxzQkFBc0IsQ0FBQztJQUNuQjs7Ozs7OENBS3NDLEVBUXpDO0lBZEQsQUFPSSxzQkFQa0IsQUFPbEIsU0FBVSxDQUFDO01BQ1AsUUFBUSxFQUFFLFFBQVE7TUFDbEIsR0FBRyxFQUFFLElBQUk7TUFDVCxJQUFJLEVBQUUsSUFBSTtNQUNWLE1BQU0sRUFBRSxJQUFJO01BQ1osS0FBSyxFQUFFLElBQUksR0FDZDs7QUFJVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUFDcEI7Ozs7T0FJRzs7QUFFUCxBQUFTLFFBQUQsQ0FBQyxvQkFBb0IsQ0FBQztFQUMxQixPQUFPLEVBQUUsR0FBRztFQUNaLE9BQU8sRUFBRSxLQUFLLEdBQ2pCOztBQUVEOztFQUVFO0FBQ0YsQUFBQSxLQUFLLEFBQUEsY0FBYyxFQUFFLEFBQUEsTUFBTSxBQUFBLGNBQWMsQ0FBQztFQUN0QyxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQUVELEFBQUEsS0FBSyxBQUFBLGNBQWMsRUFBRSxBQUFBLE1BQU0sQUFBQSxjQUFjLENBQUM7RUFDdEMsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCOztBQUNELFlBQVk7QUFHWixBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLGFBQWEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLG1CQUFnQjtFQUMxQyxhQUFhLEVBQUUsR0FBRztFQUNsQixXQUFXLEVBQUUsS0FBSztFQUNsQixZQUFZLEVBQUUsR0FBRyxHQWFwQjtFQWpCRCxBQU1RLHVCQU5lLEdBTWYsSUFBSSxDQUFDO0lBQ0wsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUFSTCxBQVVJLHVCQVZtQixBQVVuQixRQUFTLENBQUM7SUFDTixlQUFlO0lBQ2Y7MkJBQ21CO0lBQ25CLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLE9BQU8sRUFBRSxPQUFPLEdBQ25COztBQUtMLEFBQUEsZ0JBQWdCLEFBQUEsZ0JBQWdCLENBQUM7RUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsbUJBQWdCO0VBQ3ZDLFVBQVUsRUFBRSxLQUFLO0VBa0JqQixVQUFVLEVBQUUsR0FBRyxHQUNsQjtFQXJCRCxBQUlJLGdCQUpZLEFBQUEsZ0JBQWdCLENBSTVCLHVCQUF1QixDQUFDO0lBQ3BCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsWUFBWSxFQUFFLEdBQUc7SUFDakIsYUFBYSxFQUFFLElBQUk7SUFNbkIsYUFBYSxFQUFFLENBQUMsR0FDbkI7SUFkTCxBQUlJLGdCQUpZLEFBQUEsZ0JBQWdCLENBSTVCLHVCQUF1QixBQUtuQixPQUFRLENBQUM7TUFDTCxPQUFPLEVBQUUsRUFBRSxHQUNkO0VBWFQsQUFnQkksZ0JBaEJZLEFBQUEsZ0JBQWdCLENBZ0I1QixxQkFBcUIsQ0FBQztJQUNsQixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFLTCxjQUFjO0FBQ2QsQUFBaUIsZ0JBQUQsQ0FBQyxZQUFZLENBQUM7RUFDMUIsVUFBVSxFQUFFLEtBQUs7RUFDakIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsWUFBWSxFQUFFLFdBQVc7RUFDekIsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFbEJ2NEJBLHVCQUEwRCxHa0J3NEJsRTs7QUFDRDs7RUFFRTtBQUNGLEFBQUEsWUFBWSxDQUFDO0VBQ1QsTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQsbUJBQW1CO0FBQ25CLEFBQUEsT0FBTyxFQUFFLEFBQUEsUUFBUSxDQUFDO0VBQ2QsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEVsQnQzQkQsbUJBQU87RWtCdTNCWCxVQUFVLEVsQnY0QlQsT0FBTztFa0J3NEJSLEtBQUssRUFBRSxjQUFjO0VBQ3JCLE1BQU0sRUFBRSxjQUFjLEdBQ3pCOztBQUNELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixjQUFjLEVBQUUsc0JBQXNCLEdBQ3pDOztBQUlELFVBQVUsQ0FBVixzQkFBVTtFQUNOLEFBQUEsSUFBSTtJQUNBLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFxQjtFQUU1QyxBQUFBLEdBQUc7SUFDQyxPQUFPLEVBQUUsbUJBQW1CO0VBR2hDLEFBQUEsRUFBRTtJQUNFLE9BQU8sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLGtCQUFxQjs7QUFLaEQsd0JBQXdCO0FBQ3hCLEFBQWMsYUFBRCxDQUFDLG9CQUFvQjtBQUNsQyxBQUFjLGFBQUQsQ0FBQyxvQkFBb0IsQ0FBQztFQUMvQixVQUFVLEVsQm42QlQsT0FBTyxHa0JvNkJYOztBQUdELG1CQUFtQjtBQUVuQixBQUFBLHNCQUFzQixFQUFFLEFBQUEsd0JBQXdCLENBQUM7RUFDN0MsS0FBSyxFQUFFLG1CQUFnQjtFZjU3QnZCLHFCQUFxQixFQUFFLEtBQUs7RUFDNUIsbUJBQW1CLEVBQUUsSUFBSTtFQUN6QixnQkFBZ0IsRUFBRSxJQUFJO0VBQ3RCLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLFdBQVcsRUFBRSxJQUFJO0VlNDdCakI7O09BRUc7RUFDSDs7T0FFRztFQUNIOztPQUVHO0VBQ0g7OztPQUdHO0VBSUgsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQ0FBZ0M7RUFDaEMsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsWUFBWTtFQUN6QixTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQTRCWjs7Ozs7T0FLRztFQWtCSCxtQ0FBbUMsRUF3QnRDO0VBdEdELEFBNkJJLHNCQTdCa0IsQ0E2QmxCLEVBQUUsRUE3Qk4sQUE2QlEsc0JBN0JjLENBNkJkLEVBQUUsRUE3QlYsQUE2Qlksc0JBN0JVLENBNkJWLEVBQUUsRUE3QmQsQUE2QmdCLHNCQTdCTSxDQTZCTixFQUFFLEVBN0JsQixBQTZCb0Isc0JBN0JFLENBNkJGLEVBQUUsRUE3QkUsQUE2QnBCLHdCQTdCNEMsQ0E2QjVDLEVBQUUsRUE3QmtCLEFBNkJoQix3QkE3QndDLENBNkJ4QyxFQUFFLEVBN0JjLEFBNkJaLHdCQTdCb0MsQ0E2QnBDLEVBQUUsRUE3QlUsQUE2QlIsd0JBN0JnQyxDQTZCaEMsRUFBRSxFQTdCTSxBQTZCSix3QkE3QjRCLENBNkI1QixFQUFFLENBQUM7SUFDZix5Q0FBeUM7SUFDekMsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQWpDTCxBQW1DSSxzQkFuQ2tCLENBbUNsQixFQUFFLEVBbkNOLEFBbUNRLHNCQW5DYyxDQW1DZCxHQUFHLEVBbkNhLEFBbUNwQix3QkFuQzRDLENBbUM1QyxFQUFFLEVBbkNrQixBQW1DaEIsd0JBbkN3QyxDQW1DeEMsR0FBRyxDQUFDO0lBQ0osU0FBUyxFQUFFLFlBQVk7SUFDdkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLE9BQU87SUFDbkIsYUFBYSxFQUFFLE1BQU0sR0FDeEI7RUF4Q0wsQUEwQ0ksc0JBMUNrQixDQTBDbEIsRUFBRSxFQTFDTixBQTBDUSxzQkExQ2MsQ0EwQ2QsR0FBRyxFQTFDYSxBQTBDcEIsd0JBMUM0QyxDQTBDNUMsRUFBRSxFQTFDa0IsQUEwQ2hCLHdCQTFDd0MsQ0EwQ3hDLEdBQUcsQ0FBQztJQUNKLFNBQVMsRUFBRSxHQUFHO0lBQ2QsV0FBVyxFQUFFLFlBQVk7SUFDekIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsYUFBYSxFQUFFLFlBQVksR0FDOUI7RUEvQ0wsQUFpREksc0JBakRrQixDQWlEbEIsRUFBRSxFQWpETixBQWlEUSxzQkFqRGMsQ0FpRGQsR0FBRyxFQWpEWCxBQWlEYSxzQkFqRFMsQ0FpRFQsRUFBRSxFQWpEZixBQWlEaUIsc0JBakRLLENBaURMLEdBQUcsRUFqREksQUFpRHBCLHdCQWpENEMsQ0FpRDVDLEVBQUUsRUFqRGtCLEFBaURoQix3QkFqRHdDLENBaUR4QyxHQUFHLEVBakRhLEFBaURYLHdCQWpEbUMsQ0FpRG5DLEVBQUUsRUFqRFMsQUFpRFAsd0JBakQrQixDQWlEL0IsR0FBRyxDQUFDO0lBQ2IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsVUFBVSxFQUFFLE1BQU07SUFDbEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUF0REwsQUE2REksc0JBN0RrQixDQTZEbEIsRUFBRSxFQTdETixBQTZEUSxzQkE3RGMsQ0E2RGQsR0FBRyxFQTdEYSxBQTZEcEIsd0JBN0Q0QyxDQTZENUMsRUFBRSxFQTdEa0IsQUE2RGhCLHdCQTdEd0MsQ0E2RHhDLEdBQUcsQ0FBQztJQUNKLFNBQVMsRUFBRSxHQUFHO0lBQ2QsV0FBVyxFQUFFLFlBQVk7SUFDekIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFsRUwsQUFvRUksc0JBcEVrQixDQW9FbEIsQ0FBQyxFQXBFTCxBQW9FTyxzQkFwRWUsQ0FvRWYsRUFBRSxFQXBFVCxBQW9FVyxzQkFwRVcsQ0FvRVgsRUFBRSxFQXBFYixBQW9FZSxzQkFwRU8sQ0FvRVAsR0FBRyxFQXBFbEIsQUFvRW9CLHNCQXBFRSxDQW9FRixLQUFLLEVBcEV6QixBQW9FMkIsc0JBcEVMLENBb0VLLFVBQVUsRUFwRWIsQUFvRXBCLHdCQXBFNEMsQ0FvRTVDLENBQUMsRUFwRW1CLEFBb0VqQix3QkFwRXlDLENBb0V6QyxFQUFFLEVBcEVlLEFBb0ViLHdCQXBFcUMsQ0FvRXJDLEVBQUUsRUFwRVcsQUFvRVQsd0JBcEVpQyxDQW9FakMsR0FBRyxFQXBFTSxBQW9FSix3QkFwRTRCLENBb0U1QixLQUFLLEVBcEVELEFBb0VHLHdCQXBFcUIsQ0FvRXJCLFVBQVUsQ0FBQztJQUM5QixVQUFVLEVBQUUsR0FBRztJQUNmLGFBQWEsRUFBRSxZQUFZLEdBQzlCO0VBdkVMLEFBMEVPLHNCQTFFZSxDQTBFbEIsRUFBRSxDQUFDLEVBQUUsRUExRVQsQUEwRWMsc0JBMUVRLENBMEVYLEVBQUUsQ0FBQyxFQUFFLEVBMUVoQixBQTBFcUIsc0JBMUVDLENBMEVKLEVBQUUsQ0FBQyxFQUFFLEVBMUV2QixBQTBFNEIsc0JBMUVOLENBMEVHLEVBQUUsQ0FBQyxFQUFFLEVBMUVOLEFBMEVqQix3QkExRXlDLENBMEU1QyxFQUFFLENBQUMsRUFBRSxFQTFFZSxBQTBFVix3QkExRWtDLENBMEVyQyxFQUFFLENBQUMsRUFBRSxFQTFFUSxBQTBFSCx3QkExRTJCLENBMEU5QixFQUFFLENBQUMsRUFBRSxFQTFFQyxBQTBFSSx3QkExRW9CLENBMEV2QixFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxHQUFHO0lBQ2YsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUE3RUwsQUErRUksc0JBL0VrQixDQStFbEIsRUFBRSxFQS9FTixBQStFUSxzQkEvRWMsQ0ErRWQsR0FBRyxFQS9FYSxBQStFcEIsd0JBL0U0QyxDQStFNUMsRUFBRSxFQS9Fa0IsQUErRWhCLHdCQS9Fd0MsQ0ErRXhDLEdBQUcsQ0FBQztJQUNKLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxNQUFNLEdBQ2pCO0VBbEZMLEFBb0ZJLHNCQXBGa0IsQ0FvRmxCLENBQUMsRUFwRkwsQUFvRk8sc0JBcEZlLENBb0ZmLENBQUMsRUFwRlIsQUFvRlUsc0JBcEZZLENBb0ZaLENBQUMsRUFwRlgsQUFvRmEsc0JBcEZTLENBb0ZULE1BQU0sRUFwRm5CLEFBb0ZxQixzQkFwRkMsQ0FvRkQsRUFBRSxFQXBGdkIsQUFvRnlCLHNCQXBGSCxDQW9GRyxLQUFLLEVBcEY5QixBQW9GZ0Msc0JBcEZWLENBb0ZVLElBQUksRUFwRlosQUFvRnBCLHdCQXBGNEMsQ0FvRjVDLENBQUMsRUFwRm1CLEFBb0ZqQix3QkFwRnlDLENBb0Z6QyxDQUFDLEVBcEZnQixBQW9GZCx3QkFwRnNDLENBb0Z0QyxDQUFDLEVBcEZhLEFBb0ZYLHdCQXBGbUMsQ0FvRm5DLE1BQU0sRUFwRkssQUFvRkgsd0JBcEYyQixDQW9GM0IsRUFBRSxFQXBGQyxBQW9GQyx3QkFwRnVCLENBb0Z2QixLQUFLLEVBcEZOLEFBb0ZRLHdCQXBGZ0IsQ0FvRmhCLElBQUksQ0FBQztJQUM3QixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtFQXRGTCxBQXdGSSxzQkF4RmtCLENBd0ZsQixHQUFHLEVBeEZQLEFBd0ZTLHNCQXhGYSxDQXdGYixHQUFHLEVBeEZZLEFBd0ZwQix3QkF4RjRDLENBd0Y1QyxHQUFHLEVBeEZpQixBQXdGZix3QkF4RnVDLENBd0Z2QyxHQUFHLENBQUM7SUFDTCxXQUFXLEVBQUUsQ0FBQztJQUNkLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLGNBQWMsRUFBRSxRQUFRLEdBQzNCO0VBNUZMLEFBOEZJLHNCQTlGa0IsQ0E4RmxCLEdBQUcsRUE5RmlCLEFBOEZwQix3QkE5RjRDLENBOEY1QyxHQUFHLENBQUM7SUFDQSxHQUFHLEVBQUUsTUFBTSxHQUNkO0VBaEdMLEFBa0dJLHNCQWxHa0IsQ0FrR2xCLEdBQUcsRUFsR2lCLEFBa0dwQix3QkFsRzRDLENBa0c1QyxHQUFHLENBQUM7SUFDQSxNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFJTCxBQUFBLHdCQUF3QixDQUFDO0VBQUUsTUFBTSxFQUFDLENBQUMsR0FBSTs7QUFJdkMsQUFBQSxFQUFFLEFBQUEsV0FBVyxDQUFDO0VBQ1YsZUFBZSxFQUFFLElBQUk7RUFBRyxvQkFBb0I7RUFDNUMsT0FBTyxFQUFFLENBQUM7RUFBRyxvQkFBb0I7RUFDakMsTUFBTSxFQUFFLENBQUM7RUFBRyxvQkFBb0IsRUFDbkMiCn0= */