/* Start of /App_Themes/Glyphicons.css */ 
@font-face{font-family:"Glyphicons Halflings";src:url("/Fonts/FontIcon.eot?");src:url("/Fonts/FontIcon.eot?#iefix") format("embedded-opentype"),url("/Fonts/FontIcon.woff") format("woff"),url("/Fonts/FontIcon.ttf") format("truetype");font-weight:normal;font-style:normal;font-display:swap}.glyphicon{position:relative;top:0;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-mail:before{content:""}.glyphicon-print:before{content:""}.glyphicon-stats:before{content:""}.glyphicon-link:before{content:""}.glyphicon-pdf:before{content:""}.glyphicon-increase:before{content:""}.glyphicon-decrease:before{content:""}.glyphicon-fontsize:before{content:""}.glyphicon-favorite:before{content:""}.glyphicon-feedback:before{content:""}.glyphicon-gplus:before{content:""}.glyphicon-instagram:before{content:""}.glyphicon-search:before{content:""}.glyphicon-skype:before{content:""}.glyphicon-facebook:before{content:""}.glyphicon-arrowupwide:before{content:""}.glyphicon-arrowup1:before{content:""}.glyphicon-arrowup:before{content:""}.glyphicon-arrowleft:before{content:""}.glyphicon-arrowdoubleleft:before{content:""}.glyphicon-arrowright:before{content:""}.glyphicon-arrowdoubleright:before{content:""}.glyphicon-twitter:before{content:""}.glyphicon-rss:before{content:""}.glyphicon-folderopen:before{content:""}.glyphicon-pause:before{content:""}.glyphicon-archive:before{content:""}.glyphicon-leftsmall:before{content:""}.glyphicon-rightsmall:before{content:""}.glyphicon-leftdir:before{content:""}.glyphicon-rightdir:before{content:""}.glyphicon-sitemap:before{content:""}.glyphicon-minus:before{content:""}.glyphicon-ok:before{content:""}.glyphicon-linkedin:before{content:""}.glyphicon-trash:before{content:""}.glyphicon-text:before{content:""}.glyphicon-share:before{content:""}.glyphicon-mana:before{content:""}.glyphicon-editprofile:before{content:""}.glyphicon-turnoff:before{content:""}.glyphicon-calendar:before{content:""}.glyphicon-help:before{content:""}.glyphicon-cart:before{content:""}.glyphicon-pen:before{content:""}.glyphicon-money:before{content:""}.glyphicon-forum:before{content:""}.glyphicon-key:before{content:""}.glyphicon-home:before{content:""}.glyphicon-addFolder:before{content:""}.glyphicon-applypriority:before{content:""}.glyphicon-refresh:before{content:""}.glyphicon-priorityup:before{content:""}.glyphicon-prioritydown:before{content:""}.glyphicon-search2:before{content:""}.glyphicon-save:before{content:""}.glyphicon-members:before{content:""}.glyphicon-enter:before{content:""}.glyphicon-exit:before{content:""}.glyphicon-updir:before{content:""}.glyphicon-downdir:before{content:""}.glyphicon-tag:before{content:""}.glyphicon-quote:before{content:""}.glyphicon-book:before{content:""}.glyphicon-exchange:before{content:""}.glyphicon-multiplecolumns:before,.glyphicon-abstract:before{content:""}.glyphicon-singlecolumn:before{content:""}.glyphicon-download:before{content:""}.glyphicon-arrowdownwide:before{content:""}.glyphicon-menu:before{content:""}.glyphicon-dashboard:before{content:""}.glyphicon-arrow-bold-left:before{content:""}.glyphicon-arrow-bold-right:before{content:""}.glyphicon-arrow-bold-up:before{content:""}.glyphicon-arrow-bold-down:before{content:""}.glyphicon-eye-open:before{content:""}.glyphicon-phone:before{content:""}.glyphicon-fax:before{content:""}.glyphicon-user:before{content:""}.glyphicon-mobile:before{content:""}.glyphicon-lock:before{content:""}.glyphicon-unlock:before{content:""}.glyphicon-disabled:before{content:""}.glyphicon-enabled:before{content:""}.glyphicon-remove:before{content:""}.glyphicon-paste:before{content:""}.glyphicon-copy:before{content:""}.glyphicon-cut:before{content:""}.glyphicon-invoice:before{content:""}.glyphicon-setting:before{content:""}.glyphicon-add:before{content:""}.glyphicon-move:before{content:""}.glyphicon-setting-off:before{content:""}.glyphicon-setting-on:before{content:""}.glyphicon-info:before{content:""}.glyphicon-favoriteslit:before{content:""}.glyphicon-youtube:before{content:""}.glyphicon-twit:before{content:""}.glyphicon-fb:before{content:""}.glyphicon-googleplus:before{content:""}.glyphicon-world:before{content:""}.glyphicon-question:before{content:""}.glyphicon-reply:before{content:""}.glyphicon-bigLinkedin:before{content:""}.glyphicon-history:before{content:""}.glyphicon-flag:before{content:""}.glyphicon-attach:before{content:""}.glyphicon-chat:before{content:""}.glyphicon-template:before{content:""}.glyphicon-ticket:before{content:""}.glyphicon-wait:before{content:""}.glyphicon-simplereply:before{content:""}.glyphicon-rate:before{content:""}.glyphicon-article:before{content:""}.glyphicon-album:before{content:""}.glyphicon-datetime:before{content:""}.glyphicon-dateAndTime:before{content:""}.glyphicon-poke:before{content:""}.glyphicon-pencil:before{content:""}.glyphicon-arrow:before{content:""}.glyphicon-dataImport:before{content:""}.glyphicon-circularDollarSign:before{content:""}.glyphicon-dollarSign:before{content:""}.glyphicon-refreshDollar:before{content:""}.glyphicon-upgrade:before{content:""}.glyphicon-downgrade:before{content:""}.glyphicon-chart:before{content:""}.glyphicon-bill:before{content:""}.glyphicon-edit:before{content:""}.glyphicon-refreshFolder:before{content:""}.glyphicon-closeFolder:before{content:""}.glyphicon-facenama:before{content:""}.glyphicon-telegram:before{content:""}.glyphicon-lenzor:before{content:""}.glyphicon-cloob:before{content:""}.glyphicon-aparat:before{content:""}.glyphicon-pinterest:before{content:""}.glyphicon-music-icon:before{content:""}.glyphicon-flash-icon:before{content:""}.glyphicon-image-icon:before{content:""}.glyphicon-excel-icon:before{content:""}.glyphicon-word-icon:before{content:""}.glyphicon-acrobat-icon:before{content:""}.glyphicon-powerpoint-icon:before{content:""}.glyphicon-text-icon:before{content:""}.glyphicon-video-icon:before{content:""}.glyphicon-zip-icon:before{content:""}.glyphicon-collapse:before{content:""}.glyphicon-collapsed:before{content:""}.glyphicon-closed:before{content:""}.glyphicon-select:before{content:""}.glyphicon-simpleTelegram:before{content:""}.glyphicon-pin:before{content:""}.glyphicon-crm:before{content:""}.glyphicon-eye-close:before{content:""}.glyphicon-code:before{content:""}.glyphicon-nodes:before{content:""}.glyphicon-upload:before{content:""}.glyphicon-static:before{content:""}.glyphicon-dynamic:before{content:""}.glyphicon-paste-to-all:before{content:""}.glyphicon-tall-search:before{content:""}.glyphicon-plus:before{content:""}.glyphicon-keyboard:before{content:""}.glyphicon-return:before{content:""}.glyphicon-cancel:before{content:""}.glyphicon-backspace:before{content:""}.glyphicon-globe:before{content:""}.glyphicon-bell:before{content:""}.glyphicon-waiting:before{content:""}.glyphicon-message-receive:before{content:""}.glyphicon-message-send:before{content:""}.glyphicon-microphone:before{content:""}.glyphicon-news:before{content:""}.glyphicon-folder-closed:before{content:""}.glyphicon-heart:before{content:""}.glyphicon-like:before{content:""}.glyphicon-share2:before{content:""}.glyphicon-unfav:before{content:""}.glyphicon-fav:before{content:""}.glyphicon-pinterest2:before{content:""}.glyphicon-forum-new:before{content:""}.glyphicon-forum-message:before{content:""}.glyphicon-forum-popular:before{content:""}.glyphicon-forum-move:before{content:""}.glyphicon-forum-favourite:before{content:""}.glyphicon-forum-locked:before{content:""}.glyphicon-merge:before{content:""}.glyphicon-new-forum:before{content:""}.glyphicon-sub-forum:before{content:""}.glyphicon-queue:before{content:""}.glyphicon-simple-rss:before{content:""}.glyphicon-locked:before{content:""}.glyphicon-magnifier:before{content:""}.glyphicon-location2:before{content:""}.glyphicon-shopingcart:before{content:""}.glyphicon-homepage:before{content:""}.glyphicon-play:before{content:""}.glyphicon-telephone:before{content:""}.glyphicon-volume:before{content:""}.glyphicon-trophy:before{content:""}.glyphicon-envelope:before{content:""}.glyphicon-clock:before{content:""}.glyphicon-locked-o:before{content:""}.glyphicon-unlimited:before{content:""}.glyphicon-review:before{content:""}.glyphicon-users:before{content:""}.glyphicon-send-message:before{content:""}.glyphicon-openbook:before{content:""}.glyphicon-aparatsimple:before{content:""}.glyphicon-redirect:before{content:""}.glyphicon-PDFIcon:before{content:""}.glyphicon-jobRequest:before{content:""}.glyphicon-support:before{content:""}.glyphicon-company:before{content:""}.glyphicon-products:before{content:""}.glyphicon-imam:before{content:""}.glyphicon-advertisement:before{content:""}.glyphicon-b2b:before{content:""}.glyphicon-physician:before{content:""}.glyphicon-exSupport:before{content:""}.glyphicon-coupon:before{content:""}.glyphicon-contactList:before{content:""}.glyphicon-addContact:before{content:""}.glyphicon-exAlbum:before{content:""}.glyphicon-soroush:before{content:""}.glyphicon-solid-lock:before{content:""}.glyphicon-companyProfile:before{content:""}.glyphicon-gap:before{content:""}.glyphicon-eitaa:before{content:""}.glyphicon-igap:before{content:""}.glyphicon-wispi:before{content:""}.glyphicon-whatsapp:before{content:""}.glyphicon-bisphone:before{content:""}.glyphicon-simpleInfo:before{content:""}.glyphicon-location:before{content:""}.glyphicon-map:before{content:""}.glyphicon-refresh2:before{content:""}.glyphicon-circularquestion:before{content:""}.glyphicon-electronicform:before{content:""}.glyphicon-atach:before{content:""}.glyphicon-detach:before{content:""}.glyphicon-vm:before{content:""}.glyphicon-radcom:before{content:""}.glyphicon-podcast:before{content:""}.glyphicon-reservation:before{content:""}.glyphicon-weblog:before{content:""}.glyphicon-advancedSearch:before{content:""}.glyphicon-enMana:before{content:""}.glyphicon-newCalendar:before{content:""}.glyphicon-newShare:before{content:""}.glyphicon-website:before{content:""}.glyphicon-both:before{content:""}.glyphicon-unavailable:before{content:""}.glyphicon-emptyFaceBook:before{content:""}.glyphicon-emptyInstagram:before{content:""}.glyphicon-emptyTelegram:before{content:""}.glyphicon-emptyTwitter:before{content:""}.glyphicon-emptyGoogle:before{content:""}.glyphicon-compare:before{content:""}.glyphicon-priceChart:before{content:""}.glyphicon-weblog2:before{content:""}.glyphicon-dashboard2:before{content:""}.glyphicon-user2:before{content:""}.glyphicon-support2:before{content:""}.glyphicon-question:before{content:""}.glyphicon-website2:before{content:""}.glyphicon-domain:before{content:""}.glyphicon-server:before{content:""}.glyphicon-database:before{content:""}.glyphicon-ssl:before{content:""}.glyphicon-plesk:before{content:""}.glyphicon-shop:before{content:""}.glyphicon-contract:before{content:""}.glyphicon-coin:before{content:""}.glyphicon-exit2:before{content:""}.glyphicon-CP:before{content:""}.glyphicon-bell2:before{content:""}.glyphicon-male:before{content:""}.glyphicon-female:before{content:""}.glyphicon-itemlist:before{content:""}.glyphicon-relateditems:before{content:""}.glyphicon-reviews:before{content:""}.glyphicon-file:before{content:""}.glyphicon-star:before{content:""}.glyphicon-rfq:before{content:""}.glyphicon-dashboard:before{content:""}.glyphicon-contact:before{content:""}.glyphicon-vacation:before{content:""}.glyphicon-vacationRequest:before{content:""}.glyphicon-myVacationList:before{content:""}.glyphicon-vacationList:before{content:""}.glyphicon-home2:before{content:""}.glyphicon-host:before{content:""}.glyphicon-search3:before{content:""}.glyphicon-home3:before{content:""}.glyphicon-orders:before{content:""}.glyphicon-calendarlist:before{content:""}.glyphicon-calendarsearch:before{content:""}.glyphicon-calendaradd:before{content:""}.glyphicon-language:before{content:""}.glyphicon-dashboard3:before{content:""}.glyphicon-monitoring:before{content:""}.glyphicon-webdesign:before{content:""}.glyphicon-cart-outline:before{content:""}.glyphicon-chat-outline:before{content:""}.glyphicon-thinbook:before{content:""}.glyphicon-aboutus:before{content:""}.glyphicon-VPS:before{content:""}.glyphicon-Filter:before{content:""}.glyphicon-newLike:before{content:""}.glyphicon-newDislike:before{content:""}.glyphicon-Calenndar:before{content:""}.glyphicon-Sun:before{content:""}.glyphicon-gregorian:before{content:""}.glyphicon-farvardin:before{content:""}.glyphicon-khordad:before{content:""}.glyphicon-tir:before{content:""}.glyphicon-mordad:before{content:""}.glyphicon-shahrivar:before{content:""}.glyphicon-mehr:before{content:""}.glyphicon-aban:before{content:""}.glyphicon-azar:before{content:""}.glyphicon-dey:before{content:""}.glyphicon-bahman:before{content:""}.glyphicon-esfand:before{content:""}.glyphicon-halfMoon:before{content:""}.glyphicon-fullMoon:before{content:""}.glyphicon-sunMoon:before{content:""}.glyphicon-emptySun:before{content:""}.glyphicon-fullSun:before{content:""}.glyphicon-halfSun:before{content:""}.glyphicon-wind:before{content:""}.glyphicon-temp:before{content:""}.glyphicon-update:before{content:""}.glyphicon-ordibehesht:before{content:""}.glyphicon-downloadFile:before{content:""}.glyphicon-featureTag:before{content:""}.glyphicon-owner:before{content:""}.glyphicon-myradcom:before{content:""}.glyphicon-radcomhelp:before{content:""}.glyphicon-jsNewProject:before{content:""}.glyphicon-jsControlPrerequisite:before{content:""}.glyphicon-jsReadyToRun:before{content:""}.glyphicon-jsDefectPrerequisite:before{content:""}.glyphicon-jsReviewAndPreparePrerequisite:before{content:""}.glyphicon-jsWaitingForRun:before{content:""}.glyphicon-jsProblemInProject:before{content:""}.glyphicon-jsInProgress:before{content:""}.glyphicon-jsCanceled:before{content:""}.glyphicon-jsInQueueForTroubleshooting:before{content:""}.glyphicon-jsSuspended:before{content:""}.glyphicon-jsTesting:before{content:""}.glyphicon-jsDeliverToManager:before{content:""}.glyphicon-jsReadyForDeliver:before{content:""}.glyphicon-jsReadyForFinalInstall:before{content:""}.glyphicon-jsInstalled:before{content:""}.glyphicon-jsNonconformityStandardGraphicDesign:before{content:""}.glyphicon-jsInitialDeliveryGraphicDesign:before{content:""}.glyphicon-jsUnderInvestigationGraphicDesign:before{content:""}.glyphicon-jsInitialConfirmationGraphicDesign:before{content:""}.glyphicon-jsModifyGraphicDesign:before{content:""}.glyphicon-jsVerifyGraphicDesign:before{content:""}.glyphicon-jsExecute1920GraphicDesign:before{content:""}.glyphicon-jsCompleteTheGraphicDesign:before{content:""}.glyphicon-jsUnderInvestigation:before{content:""}.glyphicon-jsInQueueForTest:before{content:""}.glyphicon-jsSendGraphicDesignToCustomer:before{content:""}.glyphicon-jsEndOfInvestigation:before{content:""}.glyphicon-jsCompleteModifyGraphicDesign:before{content:""}.glyphicon-wordpress:before{content:""}.glyphicon-speed:before{content:""}.glyphicon-design:before{content:""}.glyphicon-power:before{content:""}.glyphicon-api:before{content:""}.glyphicon-information:before{content:""}.glyphicon-iran:before{content:""}.glyphicon-figures:before{content:""}.glyphicon-events:before{content:""}.glyphicon-newspaper:before{content:""}.glyphicon-radcomIcon:before{content:""}.glyphicon-voucher:before{content:""}.glyphicon-priorityultraup:before{content:""}.glyphicon-thinVPS:before{content:""}.glyphicon-billboard:before{content:""}.glyphicon-television:before{content:""}.glyphicon-trash2:before{content:""}.glyphicon-right:before{content:""}.glyphicon-left:before{content:""}.glyphicon-cloud:before{content:""}.glyphicon-compare2:before{content:""}.glyphicon-desktop:before{content:""}.glyphicon-post:before{content:""}.glyphicon-truck:before{content:""}.glyphicon-company2:before{content:""}.glyphicon-delivery:before{content:""}.glyphicon-alert:before{content:""}.glyphicon-edit2:before{content:""}.glyphicon-print2:before{content:""}.glyphicon-phone2:before{content:""}.glyphicon-simpleuser:before{content:""}.glyphicon-simplelocation:before{content:""}.glyphicon-email:before{content:""}.glyphicon-android:before{content:""}.glyphicon-simpleLock:before{content:""}.glyphicon-openEye:before{content:""}.glyphicon-closeEye:before{content:""}.glyphicon-draft:before{content:""}.glyphicon-published:before{content:""}.glyphicon-jsEndOfProject:before{content:""}.glyphicon-jsErrorInRunProject:before{content:""}.glyphicon-changeTheme:before{content:""}.glyphicon-increaseFont:before{content:""}.glyphicon-decreaseFont:before{content:""}.glyphicon-colorPicker:before{content:""}.glyphicon-lightQuestion:before{content:""}.glyphicon-identifierCart:before,.glyphicon-unknown:before{content:""}.glyphicon-information:before{content:""}.glyphicon-success:before{content:""}.glyphicon-error:before{content:""}.glyphicon-warning:before{content:""}.glyphicon-notification:before{content:""}.glyphicon-smarterMail:before{content:""}.glyphicon-phone3:before{content:""}.glyphicon-answeredCall:before{content:""}.glyphicon-transferedCal:before{content:""}.glyphicon-selected:before{content:""}.glyphicon-department:before{content:""}.glyphicon-list:before{content:""}.glyphicon-tinyCalendar:before{content:""}.glyphicon-forbiden:before{content:""}.glyphicon-pin:before{content:""}.glyphicon-unpin:before{content:""}.glyphicon-link2:before{content:""}.glyphicon-page:before{content:""}.glyphicon-baby:before{content:""}.glyphicon-airplane:before{content:""}.glyphicon-kid:before{content:""}.glyphicon-sandyClock:before{content:""}.glyphicon-adult:before{content:""}.glyphicon-expired:before{content:""}.glyphicon-wheelchair:before{content:""}.glyphicon-welcoming:before{content:""}.glyphicon-translator:before{content:""}.glyphicon-suite:before{content:""}.glyphicon-van:before{content:""}.glyphicon-conference:before{content:""}.glyphicon-cip:before{content:""}.glyphicon-transfer:before{content:""}.glyphicon-firstClass:before{content:""}.glyphicon-businessClass:before{content:""}.glyphicon-economyClass:before{content:""}.glyphicon-passengers:before{content:""}.glyphicon-landing:before{content:""}.glyphicon-addOutline:before{content:""}.glyphicon-downloadOutline:before{content:""}.glyphicon-listOutline:before{content:""}.glyphicon-ListInline:before{content:""}.glyphicon-calendarOutline:before{content:""}.glyphicon-takeOff:before{content:""}.glyphicon-cartInline:before{content:""}.glyphicon-cartOutline:before{content:""}.glyphicon-visa:before{content:""}.glyphicon-parking:before{content:""}.glyphicon-trackChild:before{content:""}.glyphicon-trackElder:before{content:""}.glyphicon-trackPet:before{content:""}.glyphicon-trackGoods:before{content:""}.glyphicon-customerPending:before{content:""}.glyphicon-providerPending:before{content:""}.glyphicon-newOrder:before{content:""}.glyphicon-providerConfirmed:before{content:""}.glyphicon-canceled:before{content:""}.glyphicon-trophy:before{content:""}.glyphicon-moon:before{content:""}.glyphicon-sun:before{content:""}.glyphicon-time:before{content:""}.glyphicon-new:before{content:""}.glyphicon-mobileTick:before{content:""}.glyphicon-mailTick:before{content:""}.glyphicon-refresh2:before{content:""}.glyphicon-refresh3:before{content:""}.glyphicon-pausedButton:before{content:""}.glyphicon-stopButton:before{content:""}.glyphicon-postalCode:before{content:""}.glyphicon-forward:before{content:""}.glyphicon-email2:before{content:""}.glyphicon-fax2:before{content:""}.glyphicon-location3:before{content:""}.glyphicon-mobile3:before{content:""}.glyphicon-notification:before{content:""}.glyphicon-basket:before{content:""}.glyphicon-headphone:before{content:""}.glyphicon-phone2:before{content:""}.glyphicon-ticket:before{content:""}.glyphicon-tableStriped:before{content:""}.glyphicon-tableBordered:before{content:""}.glyphicon-tableHover:before{content:""}.glyphicon-tableCondensed:before{content:""}.glyphicon-tableNoBorder:before{content:""}.glyphicon-gridManager:before{content:""}.glyphicon-hiddenOnLargeDesktop:before{content:""}.glyphicon-hiddenOnTablet:before{content:""}.glyphicon-hiddenOnMobile:before{content:""}.glyphicon-visibleOnMobile:before{content:""}.glyphicon-visibleOnTablet:before{content:""}.glyphicon-visibleOnMonitor:before{content:""}.glyphicon-visibleOnLargeDesktop:before{content:""}.glyphicon-boxSpacing:before{content:""}.glyphicon-loremIpsumGenerator:before{content:""}.glyphicon-hiddenOnMonitor:before{content:""}.glyphicon-newsList:before{content:""}.glyphicon-cooperation:before{content:""}.glyphicon-shoppingBag:before{content:""}.glyphicon-bale:before{content:""}.glyphicon-bazar:before{content:""}.glyphicon-faIncreaseFont:before{content:""}.glyphicon-faDecreaseFont:before{content:""}.glyphicon-eye:before{content:""}.glyphicon-reset:before{content:""}.glyphicon-curvePhone:before{content:""}.glyphicon-universe:before{content:""}.glyphicon-person:before{content:""}.glyphicon-world:before{content:""}.glyphicon-location4:before{content:""}.glyphicon-ssn:before{content:""}.glyphicon-rubika:before{content:""}.glyphicon-magnify:before{content:""}.glyphicon-showlink:before{content:""}.glyphicon-audiofile:before{content:""}.glyphicon-contrast:before{content:""}.glyphicon-saturation:before{content:""}.glyphicon-minify:before{content:""}.glyphicon-share3:before{content:""}.glyphicon-bigTag:before{content:""}.glyphicon-tikTok:before{content:""}.glyphicon-sitememberoperator:before{content:""}.glyphicon-member-role-Celebrity:before{content:""}.glyphicon-member-role-SiteMemberEditor:before{content:""}.glyphicon-member-role-VIP:before{content:""}.glyphicon-member-role-SiteMemberViewer:before{content:""}.glyphicon-permission-deny:before{content:""}.glyphicon-permission-readonly:before{content:""}.glyphicon-permission-readwrite:before{content:""}.glyphicon-permission-fullcontrol:before{content:""}.glyphicon-delete:before{content:""}.glyphicon-newBlock:before{content:""}.glyphicon-newMark:before{content:""}.glyphicon-new2FA:before{content:""}.glyphicon-disconnection:before{content:""}.glyphicon-temporarily-suspended:before{content:""}.glyphicon-verge-renewal:before{content:""}.glyphicon-ServerOn:before{content:""}.glyphicon-ServerOff:before{content:""}.glyphicon-hourglass:before{content:""}.glyphicon-member-role-Blacklist:before{content:""}.glyphicon-selected-people:before{content:""}.glyphicon-halloffame-competitiontype:before{content:""}.glyphicon-halloffame-competitiontype1:before{content:""}.glyphicon-halloffame-competitiontype2:before{content:""}.glyphicon-documents-folder1:before{content:""}.glyphicon-documents-folder2:before{content:""}.glyphicon-folder1:before{content:""}.glyphicon-folder2:before{content:""}.glyphicon-3dot:before{content:""}.glyphicon-halloffame-athlete:before{content:""}.glyphicon-halloffame-group:before{content:""}.glyphicon-halloffame-group2:before{content:""}.glyphicon-halloffame-classification:before{content:""}.glyphicon-text-space:before{content:""}.glyphicon-big-curser:before{content:""}.glyphicon-read-mask:before{content:""}.glyphicon-read-line:before{content:""}.glyphicon-virasty:before{content:""}.glyphicon-mark-message:before{content:""}.glyphicon-required:before{content:""}.glyphicon-ai:before{content:""} 
/* End of /App_Themes/Glyphicons.css*/ 
/* Start of /App_Themes/blank-fa-IR/bootstrap.css */ 

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

a {
    background-color: transparent;
}

a:active, a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

td, th {
    padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */

@media print {
    *, *:before, *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a, a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after, a[href^="javascript:"]:after {
        content: "";
    }

    pre, blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr, img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p, h2, h3 {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        page-break-after: avoid;
    }

    select {
        background: #fff !important;
    }

    .navbar {
        display: none;
    }

    .btn > .caret, .dropup > .btn > .caret {
        border-top-color: #000 !important;
    }

    .label {
        border: 1px solid #000;
    }

    .table {
        border-collapse: collapse !important;
    }

    .table td, .table th {
        background-color: #fff !important;
    }

    .table-bordered th, .table-bordered td {
        border: 1px solid #ddd !important;
    }
}


* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

*:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

body {
    font-family: "SDF",Tahoma,Helvetica,Arial,sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

a {
    color: #337ab7;
    text-decoration: none;
}

a:hover, a:focus {
    color: #23527c;
    text-decoration: underline;
}

a:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

figure {
    margin: 0;
}

img {
    vertical-align: middle;
}

.img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img {
    display: block;
    max-width: 100%;
    height: auto;
}

.img-rounded {
    border-radius: 6px;
}

.img-thumbnail {
    padding: 4px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.img-circle {
    border-radius: 50%;
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #777;
}

h1, .h1, h2, .h2, h3, .h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small {
    font-size: 65%;
}

h4, .h4, h5, .h5, h6, .h6 {
    margin-top: 10px;
    margin-bottom: 10px;
}

h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small {
    font-size: 75%;
}

h1, .h1 {
    font-size: 26px;
}

h2, .h2 {
    font-size: 24px;
}

h3, .h3 {
    font-size: 20px;
}

h4, .h4 {
    font-size: 16px;
}

h5, .h5 {
    font-size: 14px;
}

h6, .h6 {
    font-size: 12px;
}

p {
    margin: 0 0 10px;
}

.lead {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
}

@media (min-width:768px) {
    .lead {
        font-size: 21px;
    }
}

small, .small {
    font-size: 85%;
}

mark, .mark {
    background-color: #fcf8e3;
    padding: .2em;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

.text-nowrap {
    white-space: nowrap;
}

.text-lowercase {
    text-transform: lowercase;
}

.text-uppercase {
    text-transform: uppercase;
}

.text-capitalize {
    text-transform: capitalize;
}

.text-muted {
    color: #777;
}

.text-primary {
    color: #337ab7;
}

a.text-primary:hover {
    color: #286090;
}

.text-success {
    color: #3c763d;
}

a.text-success:hover {
    color: #2b542c;
}

.text-info {
    color: #31708f;
}

a.text-info:hover {
    color: #245269;
}

.text-warning {
    color: #8a6d3b;
}

a.text-warning:hover {
    color: #66512c;
}

.text-danger {
    color: #a94442;
}

a.text-danger:hover {
    color: #843534;
}

.bg-primary {
    color: #fff;
    background-color: #337ab7;
}

a.bg-primary:hover {
    background-color: #286090;
}

.bg-success {
    background-color: #dff0d8;
}

a.bg-success:hover {
    background-color: #c1e2b3;
}

.bg-info {
    background-color: #d9edf7;
}

a.bg-info:hover {
    background-color: #afd9ee;
}

.bg-warning {
    background-color: #fcf8e3;
}

a.bg-warning:hover {
    background-color: #f7ecb5;
}

.bg-danger {
    background-color: #f2dede;
}

a.bg-danger:hover {
    background-color: #e4b9b9;
}

.page-header {
    padding-bottom: 9px;
    margin: 40px 0 20px;
    border-bottom: 1px solid #eee;
}

ul, ol {
    margin-top: 0;
    margin-bottom: 10px;
}

ul ul, ol ul, ul ol, ol ol {
    margin-bottom: 0;
}

.list-unstyled {
    padding-right: 0;
    list-style: none;
}

.list-inline {
    padding-right: 0;
    list-style: none;
    margin-right: -5px;
}

.list-inline > li {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
}

dl {
    margin-top: 0;
    margin-bottom: 20px;
}

dt, dd {
    line-height: 1.42857143;
}

dt {
    /*font-weight: bold;*/
}

dd {
    margin-right: 0;
    font-weight: bold;
}

@media (min-width:768px) {
    .dl-horizontal dt {
        float: right;
        width: 160px;
        clear: right;
        text-align: left;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .dl-horizontal dd {
        margin-right: 180px;
    }
}

abbr[title], abbr[data-original-title] {
    cursor: help;
    border-bottom: 1px dotted #777;
}

.initialism {
    font-size: 90%;
    text-transform: uppercase;
}

blockquote {
    padding: 10px 20px;
    margin: 0 0 20px;
    font-size: 17.5px;
    border-right: 5px solid #eee;
}

blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child {
    margin-bottom: 0;
}

blockquote footer, blockquote small, blockquote .small {
    display: block;
    font-size: 80%;
    line-height: 1.42857143;
    color: #777;
}

blockquote footer:before, blockquote small:before, blockquote .small:before {
    content: '\2014 \00A0';
}

.blockquote-reverse, blockquote.pull-left {
    padding-left: 15px;
    padding-right: 0;
    border-left: 5px solid #eee;
    border-right: 0;
    text-align: left;
}

.blockquote-reverse footer:before, blockquote.pull-left footer:before, .blockquote-reverse small:before, blockquote.pull-left small:before, .blockquote-reverse .small:before, blockquote.pull-left .small:before {
    content: '';
}

.blockquote-reverse footer:after, blockquote.pull-left footer:after, .blockquote-reverse small:after, blockquote.pull-left small:after, .blockquote-reverse .small:after, blockquote.pull-left .small:after {
    content: '\00A0 \2014';
}

address {
    margin-bottom: 20px;
    font-style: normal;
    line-height: 1.42857143;
}

code, kbd, pre, samp {
    font-family: Monaco,Consolas,"Courier New",monospace;
}

code {
    padding: 2px 4px;
    font-size: 90%;
    color: #c7254e;
    border-radius: 4px;
}

kbd {
    padding: 2px 4px;
    font-size: 90%;
    color: #fff;
    background-color: #333;
    border-radius: 3px;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,0.25);
}

kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: bold;
    box-shadow: none;
}

pre {
    display: block;
    padding: 9.5px;
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.42857143;
    word-break: break-all;
    word-wrap: break-word;
    color: #333;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 4px;
}

pre code {
    padding: 0;
    font-size: inherit;
    color: inherit;
    white-space: pre-wrap;
    background-color: transparent;
    border-radius: 0;
}

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}

.container {
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width:768px) {
    .container {
        width: 750px;
    }
}

@media (min-width:992px) {
    .container {
        width: 970px;
    }
}

@media (min-width:1200px) {
    .container {
        width: 1170px;
    }
}

.container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-right: 15px;
    padding-left: 15px;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
    float: right;
}

.col-xs-12 {
    width: 100%;
}

.col-xs-11 {
    width: 91.66666667%;
}

.col-xs-10 {
    width: 83.33333333%;
}

.col-xs-9 {
    width: 75%;
}

.col-xs-8 {
    width: 66.66666667%;
}

.col-xs-7 {
    width: 58.33333333%;
}

.col-xs-6 {
    width: 50%;
}

.col-xs-5 {
    width: 41.66666667%;
}

.col-xs-4 {
    width: 33.33333333%;
}

.col-xs-3 {
    width: 25%;
}

.col-xs-2 {
    width: 16.66666667%;
}

.col-xs-1 {
    width: 8.33333333%;
}

.col-xs-pull-12 {
    left: 100%;
}

.col-xs-pull-11 {
    left: 91.66666667%;
}

.col-xs-pull-10 {
    left: 83.33333333%;
}

.col-xs-pull-9 {
    left: 75%;
}

.col-xs-pull-8 {
    left: 66.66666667%;
}

.col-xs-pull-7 {
    left: 58.33333333%;
}

.col-xs-pull-6 {
    left: 50%;
}

.col-xs-pull-5 {
    left: 41.66666667%;
}

.col-xs-pull-4 {
    left: 33.33333333%;
}

.col-xs-pull-3 {
    left: 25%;
}

.col-xs-pull-2 {
    left: 16.66666667%;
}

.col-xs-pull-1 {
    left: 8.33333333%;
}

.col-xs-pull-0 {
    left: auto;
}

.col-xs-push-12 {
    right: 100%;
}

.col-xs-push-11 {
    right: 91.66666667%;
}

.col-xs-push-10 {
    right: 83.33333333%;
}

.col-xs-push-9 {
    right: 75%;
}

.col-xs-push-8 {
    right: 66.66666667%;
}

.col-xs-push-7 {
    right: 58.33333333%;
}

.col-xs-push-6 {
    right: 50%;
}

.col-xs-push-5 {
    right: 41.66666667%;
}

.col-xs-push-4 {
    right: 33.33333333%;
}

.col-xs-push-3 {
    right: 25%;
}

.col-xs-push-2 {
    right: 16.66666667%;
}

.col-xs-push-1 {
    right: 8.33333333%;
}

.col-xs-push-0 {
    right: auto;
}

.col-xs-offset-12 {
    margin-right: 100%;
}

.col-xs-offset-11 {
    margin-right: 91.66666667%;
}

.col-xs-offset-10 {
    margin-right: 83.33333333%;
}

.col-xs-offset-9 {
    margin-right: 75%;
}

.col-xs-offset-8 {
    margin-right: 66.66666667%;
}

.col-xs-offset-7 {
    margin-right: 58.33333333%;
}

.col-xs-offset-6 {
    margin-right: 50%;
}

.col-xs-offset-5 {
    margin-right: 41.66666667%;
}

.col-xs-offset-4 {
    margin-right: 33.33333333%;
}

.col-xs-offset-3 {
    margin-right: 25%;
}

.col-xs-offset-2 {
    margin-right: 16.66666667%;
}

.col-xs-offset-1 {
    margin-right: 8.33333333%;
}

.col-xs-offset-0 {
    margin-right: 0;
}

@media (min-width:768px) {
    .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
        float: right;
    }

    .col-sm-12 {
        width: 100%;
    }

    .col-sm-11 {
        width: 91.66666667%;
    }

    .col-sm-10 {
        width: 83.33333333%;
    }

    .col-sm-9 {
        width: 75%;
    }

    .col-sm-8 {
        width: 66.66666667%;
    }

    .col-sm-7 {
        width: 58.33333333%;
    }

    .col-sm-6 {
        width: 50%;
    }

    .col-sm-5 {
        width: 41.66666667%;
    }

    .col-sm-4 {
        width: 33.33333333%;
    }

    .col-sm-3 {
        width: 25%;
    }

    .col-sm-2 {
        width: 16.66666667%;
    }

    .col-sm-1 {
        width: 8.33333333%;
    }

    .col-sm-pull-12 {
        left: 100%;
    }

    .col-sm-pull-11 {
        left: 91.66666667%;
    }

    .col-sm-pull-10 {
        left: 83.33333333%;
    }

    .col-sm-pull-9 {
        left: 75%;
    }

    .col-sm-pull-8 {
        left: 66.66666667%;
    }

    .col-sm-pull-7 {
        left: 58.33333333%;
    }

    .col-sm-pull-6 {
        left: 50%;
    }

    .col-sm-pull-5 {
        left: 41.66666667%;
    }

    .col-sm-pull-4 {
        left: 33.33333333%;
    }

    .col-sm-pull-3 {
        left: 25%;
    }

    .col-sm-pull-2 {
        left: 16.66666667%;
    }

    .col-sm-pull-1 {
        left: 8.33333333%;
    }

    .col-sm-pull-0 {
        left: auto;
    }

    .col-sm-push-12 {
        right: 100%;
    }

    .col-sm-push-11 {
        right: 91.66666667%;
    }

    .col-sm-push-10 {
        right: 83.33333333%;
    }

    .col-sm-push-9 {
        right: 75%;
    }

    .col-sm-push-8 {
        right: 66.66666667%;
    }

    .col-sm-push-7 {
        right: 58.33333333%;
    }

    .col-sm-push-6 {
        right: 50%;
    }

    .col-sm-push-5 {
        right: 41.66666667%;
    }

    .col-sm-push-4 {
        right: 33.33333333%;
    }

    .col-sm-push-3 {
        right: 25%;
    }

    .col-sm-push-2 {
        right: 16.66666667%;
    }

    .col-sm-push-1 {
        right: 8.33333333%;
    }

    .col-sm-push-0 {
        right: auto;
    }

    .col-sm-offset-12 {
        margin-right: 100%;
    }

    .col-sm-offset-11 {
        margin-right: 91.66666667%;
    }

    .col-sm-offset-10 {
        margin-right: 83.33333333%;
    }

    .col-sm-offset-9 {
        margin-right: 75%;
    }

    .col-sm-offset-8 {
        margin-right: 66.66666667%;
    }

    .col-sm-offset-7 {
        margin-right: 58.33333333%;
    }

    .col-sm-offset-6 {
        margin-right: 50%;
    }

    .col-sm-offset-5 {
        margin-right: 41.66666667%;
    }

    .col-sm-offset-4 {
        margin-right: 33.33333333%;
    }

    .col-sm-offset-3 {
        margin-right: 25%;
    }

    .col-sm-offset-2 {
        margin-right: 16.66666667%;
    }

    .col-sm-offset-1 {
        margin-right: 8.33333333%;
    }

    .col-sm-offset-0 {
        margin-right: 0;
    }
}

@media (min-width:992px) {
    .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: right;
    }

    .col-md-12 {
        width: 100%;
    }

    .col-md-11 {
        width: 91.66666667%;
    }

    .col-md-10 {
        width: 83.33333333%;
    }

    .col-md-9 {
        width: 75%;
    }

    .col-md-8 {
        width: 66.66666667%;
    }

    .col-md-7 {
        width: 58.33333333%;
    }

    .col-md-6 {
        width: 50%;
    }

    .col-md-5 {
        width: 41.66666667%;
    }

    .col-md-4 {
        width: 33.33333333%;
    }

    .col-md-3 {
        width: 25%;
    }

    .col-md-2 {
        width: 16.66666667%;
    }

    .col-md-1 {
        width: 8.33333333%;
    }

    .col-md-pull-12 {
        left: 100%;
    }

    .col-md-pull-11 {
        left: 91.66666667%;
    }

    .col-md-pull-10 {
        left: 83.33333333%;
    }

    .col-md-pull-9 {
        left: 75%;
    }

    .col-md-pull-8 {
        left: 66.66666667%;
    }

    .col-md-pull-7 {
        left: 58.33333333%;
    }

    .col-md-pull-6 {
        left: 50%;
    }

    .col-md-pull-5 {
        left: 41.66666667%;
    }

    .col-md-pull-4 {
        left: 33.33333333%;
    }

    .col-md-pull-3 {
        left: 25%;
    }

    .col-md-pull-2 {
        left: 16.66666667%;
    }

    .col-md-pull-1 {
        left: 8.33333333%;
    }

    .col-md-pull-0 {
        left: auto;
    }

    .col-md-push-12 {
        right: 100%;
    }

    .col-md-push-11 {
        right: 91.66666667%;
    }

    .col-md-push-10 {
        right: 83.33333333%;
    }

    .col-md-push-9 {
        right: 75%;
    }

    .col-md-push-8 {
        right: 66.66666667%;
    }

    .col-md-push-7 {
        right: 58.33333333%;
    }

    .col-md-push-6 {
        right: 50%;
    }

    .col-md-push-5 {
        right: 41.66666667%;
    }

    .col-md-push-4 {
        right: 33.33333333%;
    }

    .col-md-push-3 {
        right: 25%;
    }

    .col-md-push-2 {
        right: 16.66666667%;
    }

    .col-md-push-1 {
        right: 8.33333333%;
    }

    .col-md-push-0 {
        right: auto;
    }

    .col-md-offset-12 {
        margin-right: 100%;
    }

    .col-md-offset-11 {
        margin-right: 91.66666667%;
    }

    .col-md-offset-10 {
        margin-right: 83.33333333%;
    }

    .col-md-offset-9 {
        margin-right: 75%;
    }

    .col-md-offset-8 {
        margin-right: 66.66666667%;
    }

    .col-md-offset-7 {
        margin-right: 58.33333333%;
    }

    .col-md-offset-6 {
        margin-right: 50%;
    }

    .col-md-offset-5 {
        margin-right: 41.66666667%;
    }

    .col-md-offset-4 {
        margin-right: 33.33333333%;
    }

    .col-md-offset-3 {
        margin-right: 25%;
    }

    .col-md-offset-2 {
        margin-right: 16.66666667%;
    }

    .col-md-offset-1 {
        margin-right: 8.33333333%;
    }

    .col-md-offset-0 {
        margin-right: 0;
    }
}

@media (min-width:1200px) {
    .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
        float: right;
    }

    .col-lg-12 {
        width: 100%;
    }

    .col-lg-11 {
        width: 91.66666667%;
    }

    .col-lg-10 {
        width: 83.33333333%;
    }

    .col-lg-9 {
        width: 75%;
    }

    .col-lg-8 {
        width: 66.66666667%;
    }

    .col-lg-7 {
        width: 58.33333333%;
    }

    .col-lg-6 {
        width: 50%;
    }

    .col-lg-5 {
        width: 41.66666667%;
    }

    .col-lg-4 {
        width: 33.33333333%;
    }

    .col-lg-3 {
        width: 25%;
    }

    .col-lg-2 {
        width: 16.66666667%;
    }

    .col-lg-1 {
        width: 8.33333333%;
    }

    .col-lg-pull-12 {
        left: 100%;
    }

    .col-lg-pull-11 {
        left: 91.66666667%;
    }

    .col-lg-pull-10 {
        left: 83.33333333%;
    }

    .col-lg-pull-9 {
        left: 75%;
    }

    .col-lg-pull-8 {
        left: 66.66666667%;
    }

    .col-lg-pull-7 {
        left: 58.33333333%;
    }

    .col-lg-pull-6 {
        left: 50%;
    }

    .col-lg-pull-5 {
        left: 41.66666667%;
    }

    .col-lg-pull-4 {
        left: 33.33333333%;
    }

    .col-lg-pull-3 {
        left: 25%;
    }

    .col-lg-pull-2 {
        left: 16.66666667%;
    }

    .col-lg-pull-1 {
        left: 8.33333333%;
    }

    .col-lg-pull-0 {
        left: auto;
    }

    .col-lg-push-12 {
        right: 100%;
    }

    .col-lg-push-11 {
        right: 91.66666667%;
    }

    .col-lg-push-10 {
        right: 83.33333333%;
    }

    .col-lg-push-9 {
        right: 75%;
    }

    .col-lg-push-8 {
        right: 66.66666667%;
    }

    .col-lg-push-7 {
        right: 58.33333333%;
    }

    .col-lg-push-6 {
        right: 50%;
    }

    .col-lg-push-5 {
        right: 41.66666667%;
    }

    .col-lg-push-4 {
        right: 33.33333333%;
    }

    .col-lg-push-3 {
        right: 25%;
    }

    .col-lg-push-2 {
        right: 16.66666667%;
    }

    .col-lg-push-1 {
        right: 8.33333333%;
    }

    .col-lg-push-0 {
        right: auto;
    }

    .col-lg-offset-12 {
        margin-right: 100%;
    }

    .col-lg-offset-11 {
        margin-right: 91.66666667%;
    }

    .col-lg-offset-10 {
        margin-right: 83.33333333%;
    }

    .col-lg-offset-9 {
        margin-right: 75%;
    }

    .col-lg-offset-8 {
        margin-right: 66.66666667%;
    }

    .col-lg-offset-7 {
        margin-right: 58.33333333%;
    }

    .col-lg-offset-6 {
        margin-right: 50%;
    }

    .col-lg-offset-5 {
        margin-right: 41.66666667%;
    }

    .col-lg-offset-4 {
        margin-right: 33.33333333%;
    }

    .col-lg-offset-3 {
        margin-right: 25%;
    }

    .col-lg-offset-2 {
        margin-right: 16.66666667%;
    }

    .col-lg-offset-1 {
        margin-right: 8.33333333%;
    }

    .col-lg-offset-0 {
        margin-right: 0;
    }
}

table {
    background-color: transparent;
}

caption {
    padding-top: 8px;
    padding-bottom: 8px;
    color: #777;
    text-align: right;
}

th {
    /*text-align: right;*/
}

.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
}

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
}

.table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd;
}

.table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td {
    border-top: 0;
}

.table > tbody + tbody {
    border-top: 2px solid #ddd;
}

.table .table {
    background-color: #fff;
}

.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td {
    padding: 5px;
}

.table-bordered {
    border: 1px solid #ddd;
}

.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
    border: 1px solid #ddd;
}

.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
    border-bottom-width: 2px;
}

.table-striped > tbody > tr:nth-child(odd) {
    background-color: #f9f9f9;
}

.table-hover > tbody > tr:hover {
    background-color: #f5f5f5;
}

table col[class*="col-"] {
    position: static;
    float: none;
    display: table-column;
}

table td[class*="col-"], table th[class*="col-"] {
    position: static;
    float: none;
    display: table-cell;
}

.table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th {
    background-color: #f5f5f5;
}

.table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th {
    background-color: #e8e8e8;
}

.table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th {
    background-color: #dff0d8;
}

.table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th {
    background-color: #d0e9c6;
}

.table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th {
    background-color: #d9edf7;
}

.table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th {
    background-color: #c4e3f3;
}

.table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th {
    background-color: #fcf8e3;
}

.table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th {
    background-color: #faf2cc;
}

.table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th {
    background-color: #f2dede;
}

.table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th {
    background-color: #ebcccc;
}

.table-responsive {
    overflow-x: auto;
    min-height: 0.01%;
}

@media screen and (max-width:767px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-y: hidden;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd;
    }

    .table-responsive > .table {
        margin-bottom: 0;
    }

    .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td {
        white-space: nowrap;
    }

    .table-responsive > .table-bordered {
        border: 0;
    }

    .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child {
        border-right: 0;
    }

    .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child {
        border-left: 0;
    }

    .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td {
        border-bottom: 0;
    }
}

fieldset {
    padding: 0;
    margin: 0;
    border: 0;
    min-width: 0;
}

legend {
    display: block;
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
    font-size: 21px;
    line-height: inherit;
    color: #333;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
}

label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
}

input[type="search"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

input[type="radio"], input[type="checkbox"] {
    margin: 4px 0 0;
    margin-top: 1px;
    line-height: normal;
}

input[type="file"] {
    display: block;
}

input[type="range"] {
    display: block;
    width: 100%;
}

select[multiple], select[size] {
    height: auto;
}

input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

output {
    display: block;
    padding-top: 7px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
}

.form-control {
    display: block;
    width: 100%;
    height: 34px;
    padding: 0px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.form-control:focus {
    border-color: #66afe9;
    outline: 0;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}

.form-control::-moz-placeholder {
    color: #999;
    opacity: 1;
}

.form-control:-ms-input-placeholder {
    color: #999;
}

.form-control::-webkit-input-placeholder {
    color: #999;
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
    cursor: not-allowed;
    background-color: #eee;
    opacity: 1;
}

textarea.form-control {
    height: auto;
}

input[type="search"] {
    -webkit-appearance: none;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
    input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] {
        line-height: 34px;
    }

    input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm {
        line-height: 30px;
    }

    input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg {
        line-height: 46px;
    }
}

.form-group {
    margin-bottom: 15px;
}

.radio, .checkbox {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

.radio label, .checkbox label {
    min-height: 20px;
    padding-right: 20px;
    margin-bottom: 0;
    font-weight: normal;
    cursor: pointer;
}

.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] {
    position: absolute;
    margin-top: 4px;
    right:0;
}

.radio + .radio, .checkbox + .checkbox {
    margin-top: -5px;
}

.radio-inline, .checkbox-inline {
    display: inline-block;
    padding-right: 20px;
    margin-bottom: 0;
    vertical-align: middle;
    font-weight: normal;
    cursor: pointer;
}

.radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline {
    margin-top: 0;
    margin-right: 10px;
}

input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] {
    cursor: not-allowed;
}

.radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline {
    cursor: not-allowed;
}

.radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label {
    cursor: not-allowed;
}

.form-control-static {
    padding-top: 7px;
    padding-bottom: 7px;
    margin-bottom: 0;
}

.form-control-static.input-lg, .form-control-static.input-sm {
    padding-right: 0;
    padding-left: 0;
}

.input-sm, .form-group-sm .form-control {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

select.input-sm, select.form-group-sm .form-control {
    height: 30px;
    line-height: 30px;
}

textarea.input-sm, textarea.form-group-sm .form-control, select[multiple].input-sm, select[multiple].form-group-sm .form-control {
    height: auto;
}

.input-lg, .form-group-lg .form-control {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 6px;
}

select.input-lg, select.form-group-lg .form-control {
    height: 46px;
    line-height: 46px;
}

textarea.input-lg, textarea.form-group-lg .form-control, select[multiple].input-lg, select[multiple].form-group-lg .form-control {
    height: auto;
}

.has-feedback {
    position: relative;
}

.has-feedback .form-control {
    padding-left: 42.5px;
}

.form-control-feedback {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    pointer-events: none;
}

.input-lg + .form-control-feedback {
    width: 46px;
    height: 46px;
    line-height: 46px;
}

.input-sm + .form-control-feedback {
    width: 30px;
    height: 30px;
    line-height: 30px;
}

.has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label {
    color: #3c763d;
}

.has-success .form-control {
    border-color: #3c763d;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}

.has-success .form-control:focus {
    border-color: #2b542c;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;
}

.has-success .input-group-addon {
    color: #3c763d;
    border-color: #3c763d;
    background-color: #dff0d8;
}

.has-success .form-control-feedback {
    color: #3c763d;
}

.has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label {
    color: #8a6d3b;
}

.has-warning .form-control {
    border-color: #8a6d3b;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}

.has-warning .form-control:focus {
    border-color: #66512c;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;
}

.has-warning .input-group-addon {
    color: #8a6d3b;
    border-color: #8a6d3b;
    background-color: #fcf8e3;
}

.has-warning .form-control-feedback {
    color: #8a6d3b;
}

.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label {
    color: #a94442;
}

.has-error .form-control {
    border-color: #a94442;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}

.has-error .form-control:focus {
    border-color: #843534;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;
}

.has-error .input-group-addon {
    color: #a94442;
    border-color: #a94442;
    background-color: #f2dede;
}

.has-error .form-control-feedback {
    color: #a94442;
}

.has-feedback label ~ .form-control-feedback {
    top: 25px;
}

.has-feedback label.sr-only ~ .form-control-feedback {
    top: 0;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373;
}

@media (min-width:768px) {
    .form-inline .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
    }

    .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }

    .form-inline .form-control-static {
        display: inline-block;
    }

    .form-inline .input-group {
        display: inline-table;
        vertical-align: middle;
    }

    .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control {
        width: auto;
    }

    .form-inline .input-group > .form-control {
        width: 100%;
    }

    .form-inline .control-label {
        margin-bottom: 0;
        vertical-align: middle;
    }

    .form-inline .radio, .form-inline .checkbox {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
    }

    .form-inline .radio label, .form-inline .checkbox label {
        padding-right: 0;
    }

    .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] {
        position: relative;
        margin-right: 0;
    }

    .form-inline .has-feedback .form-control-feedback {
        top: 0;
    }
}

.form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 7px;
}

.form-horizontal .radio, .form-horizontal .checkbox {
    min-height: 27px;
}

.form-horizontal .form-group {
    margin-right: -15px;
    margin-left: -15px;
}

@media (min-width:768px) {
    .form-horizontal .control-label {
        text-align: left;
        margin-bottom: 0;
        padding-top: 7px;
    }
}

.form-horizontal .has-feedback .form-control-feedback {
    left: 15px;
}

@media (min-width:768px) {
    .form-horizontal .form-group-lg .control-label {
        padding-top: 14.3px;
    }
}

@media (min-width:768px) {
    .form-horizontal .form-group-sm .control-label {
        padding-top: 6px;
    }
}

.btn {
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus {
    outline: thin dotted;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

.btn:hover, .btn:focus, .btn.focus {
    color: #333;
    text-decoration: none;
}

.btn:active, .btn.active {
    outline: 0;
    background-image: none;
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
}

.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
    cursor: not-allowed;
    pointer-events: none;
    opacity: .65;
    filter: alpha(opacity=65);
    box-shadow: none;
}

.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}

.btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default {
    background-image: none;
}

.btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active {
    background-color: #fff;
    border-color: #ccc;
}

.btn-default .badge {
    color: #fff;
    background-color: #333;
}

.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #286090;
    border-color: #204d74;
}

.btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
    background-image: none;
}

.btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active {
    background-color: #337ab7;
    border-color: #2e6da4;
}

.btn-primary .badge {
    color: #337ab7;
    background-color: #fff;
}

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success {
    color: #fff;
    background-color: #449d44;
    border-color: #398439;
}

.btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success {
    background-image: none;
}

.btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active {
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.btn-success .badge {
    color: #5cb85c;
    background-color: #fff;
}

.btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
}

.btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc;
}

.btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info {
    background-image: none;
}

.btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active {
    background-color: #5bc0de;
    border-color: #46b8da;
}

.btn-info .badge {
    color: #5bc0de;
    background-color: #fff;
}

.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512;
}

.btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning {
    background-image: none;
}

.btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active {
    background-color: #f0ad4e;
    border-color: #eea236;
}

.btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff;
}

.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925;
}

.btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger {
    background-image: none;
}

.btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active {
    background-color: #d9534f;
    border-color: #d43f3a;
}

.btn-danger .badge {
    color: #d9534f;
    background-color: #fff;
}

.btn-link {
    color: #337ab7;
    font-weight: normal;
    border-radius: 0;
}

.btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link {
    background-color: transparent;
    box-shadow: none;
}

.btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active {
    border-color: transparent;
}

.btn-link:hover, .btn-link:focus {
    color: #23527c;
    text-decoration: underline;
    background-color: transparent;
}

.btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus {
    color: #777;
    text-decoration: none;
}

.btn-lg, .btn-group-lg > .btn {
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 6px;
}

.btn-sm, .btn-group-sm > .btn {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.btn-xs, .btn-group-xs > .btn {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.btn-block {
    display: block;
    width: 100%;
}

.btn-block + .btn-block {
    margin-top: 5px;
}

input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block {
    width: 100%;
}

.fade {
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
}

.fade.in {
    opacity: 1;
}

.collapse {
    display: none;
    visibility: hidden;
}

.collapse.in {
    display: block;
    visibility: visible;
}

tr.collapse.in {
    display: table-row;
}

tbody.collapse.in {
    display: table-row-group;
}

.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition-property: height, visibility;
    -o-transition-property: height, visibility;
    transition-property: height, visibility;
    -webkit-transition-duration: .35s;
    -o-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
}

.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 2px;
    vertical-align: middle;
    border-top: 4px solid;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.dropdown {
    position: relative;
}

.dropdown-toggle:focus {
    outline: 0;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 1000;
    display: none;
    float: right;
    min-width: 160px;
    padding: 5px 0;
    margin: 2px 0 0;
    list-style: none;
    font-size: 14px;
    text-align: right;
    background-color: #fff;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,0.15);
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0,0,0,0.175);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
}

.dropdown-menu.pull-left {
    left: 0;
    right: auto;
}

.dropdown-menu .divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    background-color: #337ab7;
}

.dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
    color: #777;
}

.dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus {
    text-decoration: none;
    background-color: transparent;
    background-image: none;
    cursor: not-allowed;
}

.open > .dropdown-menu {
    display: block;
}

.open > a {
    outline: 0;
}

.dropdown-menu-left {
    right: auto;
    left: 0;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

.dropdown-header {
    display: block;
    padding: 3px 20px;
    font-size: 12px;
    line-height: 1.42857143;
    color: #777;
    white-space: nowrap;
}

.dropdown-backdrop {
    position: fixed;
    right: 0;
    left: 0;
    bottom: 0;
    top: 0;
    z-index: 990;
}

.pull-left > .dropdown-menu {
    left: 0;
    right: auto;
}

.dropup .caret, .navbar-fixed-bottom .dropdown .caret {
    border-top: 0;
    border-bottom: 4px solid;
    content: "";
}

.dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-bottom: 1px;
}

@media (min-width:768px) {
    .navbar-left .dropdown-menu {
        right: auto;
        left: 0;
    }

    .navbar-left .dropdown-menu-right {
        right: 0;
        left: auto;
    }
}

.btn-group, .btn-group-vertical {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.btn-group > .btn, .btn-group-vertical > .btn {
    position: relative;
    float: right;
}

.btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active {
    z-index: 2;
}

.btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group {
    margin-right: -1px;
}

.btn-toolbar {
    margin-right: -5px;
}

.btn-toolbar .btn-group, .btn-toolbar .input-group {
    float: right;
}

.btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group {
    margin-right: 5px;
}

.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0;
}

.btn-group > .btn:first-child {
    margin-right: 0;
}

.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.btn-group > .btn-group {
    float: right;
}

.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
    border-radius: 0;
}

.btn-group > .btn-group:first-child > .btn:last-child, .btn-group > .btn-group:first-child > .dropdown-toggle {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.btn-group > .btn-group:last-child > .btn:first-child {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {
    outline: 0;
}

.btn-group > .btn + .dropdown-toggle {
    padding-right: 8px;
    padding-left: 8px;
}

.btn-group > .btn-lg + .dropdown-toggle {
    padding-right: 12px;
    padding-left: 12px;
}

.btn-group.open .dropdown-toggle {
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
}

.btn-group.open .dropdown-toggle.btn-link {
    box-shadow: none;
}

.btn .caret {
    margin-right: 0;
}

.btn-lg .caret {
    border-width: 5px 5px 0;
    border-bottom-width: 0;
}

.dropup .btn-lg .caret {
    border-width: 0 5px 5px;
}

.btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn {
    display: block;
    float: none;
    width: 100%;
    max-width: 100%;
}

.btn-group-vertical > .btn-group > .btn {
    float: none;
}

.btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group {
    margin-top: -1px;
    margin-right: 0;
}

.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
    border-radius: 0;
}

.btn-group-vertical > .btn:first-child:not(:last-child) {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group-vertical > .btn:last-child:not(:first-child) {
    border-bottom-right-radius: 4px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
    border-radius: 0;
}

.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.btn-group-justified {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
}

.btn-group-justified > .btn, .btn-group-justified > .btn-group {
    float: none;
    display: table-cell;
    width: 1%;
}

.btn-group-justified > .btn-group .btn {
    width: 100%;
}

.btn-group-justified > .btn-group .dropdown-menu {
    right: auto;
}

[data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate;
}

.input-group[class*="col-"] {
    float: none;
    padding-right: 0;
    padding-left: 0;
}

.input-group .form-control {
    position: relative;
    z-index: 2;
    float: right;
    width: 100%;
    margin-bottom: 0;
}

.input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 6px;
}

select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn {
    height: 46px;
    line-height: 46px;
}

textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn {
    height: auto;
}

.input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn {
    height: 30px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn {
    height: 30px;
    line-height: 30px;
}

textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn {
    height: auto;
}

.input-group-addon, .input-group-btn, .input-group .form-control {
    display: table-cell;
}

.input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) {
    border-radius: 0;
}

.input-group-addon, .input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle;
}

.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.input-group-addon.input-sm {
    padding: 5px 10px;
    font-size: 12px;
    border-radius: 3px;
}

.input-group-addon.input-lg {
    padding: 10px 16px;
    font-size: 18px;
    border-radius: 6px;
}

.input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] {
    margin-top: 0;
}

.input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.input-group-addon:first-child {
    border-left: 0;
}

.input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.input-group-addon:last-child {
    border-right: 0;
}

.input-group-btn {
    position: relative;
    font-size: 0;
    white-space: nowrap;
}

.input-group-btn > .btn {
    position: relative;
}

.input-group-btn > .btn + .btn {
    margin-right: -1px;
}

.input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active {
    z-index: 2;
}

.input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group {
    margin-left: -1px;
}

.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group {
    margin-right: -1px;
}

.nav {
    margin-bottom: 0;
    padding-right: 0;
    list-style: none;
}

.nav > li {
    position: relative;
    display: block;
}

.nav > li > a {
    position: relative;
    display: block;
    padding: 10px 15px;
}

.nav > li > a:hover, .nav > li > a:focus {
    text-decoration: none;
    background-color: #eee;
}

.nav > li.disabled > a {
    color: #777;
}

.nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
    color: #777;
    text-decoration: none;
    background-color: transparent;
    cursor: not-allowed;
}

.nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
    background-color: #eee;
    border-color: #337ab7;
}

.nav .nav-divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;
}

.nav > li > a > img {
    max-width: none;
}

.nav-tabs {
    border-bottom: 1px solid #ddd;
}

.nav-tabs > li {
    float: right;
    margin-bottom: -1px;
}

.nav-tabs > li > a {
    margin-left: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
}

.nav-tabs > li > a:hover {
    border-color: #eee #eee #ddd;
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    color: #555;
    background-color: #fff;
    border: 1px solid #ddd;
    border-bottom-color: transparent;
    cursor: default;
}

.nav-tabs.nav-justified {
    width: 100%;
    border-bottom: 0;
}

.nav-tabs.nav-justified > li {
    float: none;
}

.nav-tabs.nav-justified > li > a {
    text-align: center;
    margin-bottom: 5px;
}

.nav-tabs.nav-justified > .dropdown .dropdown-menu {
    top: auto;
    right: auto;
}

@media (min-width:768px) {
    .nav-tabs.nav-justified > li {
        display: table-cell;
        width: 1%;
    }

    .nav-tabs.nav-justified > li > a {
        margin-bottom: 0;
    }
}

.nav-tabs.nav-justified > li > a {
    margin-left: 0;
    border-radius: 4px;
}

.nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus {
    border: 1px solid #ddd;
}

@media (min-width:768px) {
    .nav-tabs.nav-justified > li > a {
        border-bottom: 1px solid #ddd;
        border-radius: 4px 4px 0 0;
    }

    .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus {
        border-bottom-color: #fff;
    }
}

.nav-pills > li {
    float: right;
}

.nav-pills > li > a {
    border-radius: 4px;
}

.nav-pills > li + li {
    margin-right: 2px;
}

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color: #fff;
    background-color: #337ab7;
}

.nav-stacked > li {
    float: none;
}

.nav-stacked > li + li {
    margin-top: 2px;
    margin-right: 0;
}

.nav-justified {
    width: 100%;
}

.nav-justified > li {
    float: none;
}

.nav-justified > li > a {
    text-align: center;
    margin-bottom: 5px;
}

.nav-justified > .dropdown .dropdown-menu {
    top: auto;
    right: auto;
}

@media (min-width:768px) {
    .nav-justified > li {
        display: table-cell;
        width: 1%;
    }

    .nav-justified > li > a {
        margin-bottom: 0;
    }
}

.nav-tabs-justified {
    border-bottom: 0;
}

.nav-tabs-justified > li > a {
    margin-left: 0;
    border-radius: 4px;
}

.nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus {
    border: 1px solid #ddd;
}

@media (min-width:768px) {
    .nav-tabs-justified > li > a {
        border-bottom: 1px solid #ddd;
        border-radius: 4px 4px 0 0;
    }

    .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus {
        border-bottom-color: #fff;
    }
}

.tab-content > .tab-pane {
    display: none;
    visibility: hidden;
}

.tab-content > .active {
    display: block;
    visibility: visible;
}

.nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.navbar {
    position: relative;
    min-height: 50px;
    margin-bottom: 20px;
    border: 1px solid transparent;
}

@media (min-width:768px) {
    .navbar {
        border-radius: 4px;
    }
}

@media (min-width:768px) {
    .navbar-header {
        float: right;
    }
}

.navbar-collapse {
    overflow-x: visible;
    padding-left: 15px;
    padding-right: 15px;
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    -webkit-overflow-scrolling: touch;
}

.navbar-collapse.in {
    overflow-y: auto;
}

@media (min-width:768px) {
    .navbar-collapse {
        width: auto;
        border-top: 0;
        box-shadow: none;
    }

    .navbar-collapse.collapse {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
    }

    .navbar-collapse.in {
        overflow-y: visible;
    }

    .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
        padding-right: 0;
        padding-left: 0;
    }
}

.navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
    max-height: 340px;
}

@media (max-device-width:480px) and (orientation:landscape) {
    .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse {
        max-height: 200px;
    }
}

.container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse {
    margin-left: -15px;
    margin-right: -15px;
}

@media (min-width:768px) {
    .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse {
        margin-left: 0;
        margin-right: 0;
    }
}

.navbar-static-top {
    z-index: 1000;
    border-width: 0 0 1px;
}

@media (min-width:768px) {
    .navbar-static-top {
        border-radius: 0;
    }
}

.navbar-fixed-top, .navbar-fixed-bottom {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 1030;
}

@media (min-width:768px) {
    .navbar-fixed-top, .navbar-fixed-bottom {
        border-radius: 0;
    }
}

.navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
}

.navbar-fixed-bottom {
    bottom: 0;
    margin-bottom: 0;
    border-width: 1px 0 0;
}

.navbar-brand {
    float: right;
    padding: 15px 15px;
    font-size: 18px;
    line-height: 20px;
    height: 50px;
}

.navbar-brand:hover, .navbar-brand:focus {
    text-decoration: none;
}

.navbar-brand > img {
    display: block;
}

@media (min-width:768px) {
    .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
        margin-right: -15px;
    }
}

.navbar-toggle {
    position: relative;
    float: left;
    margin-left: 15px;
    padding: 9px 10px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: transparent;
    background-image: none;
    border: 1px solid #888;
    border-radius: 4px;
}

.navbar-toggle:focus {
    outline: 0;
}

.navbar-toggle .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background: #888;
}

.navbar-toggle .icon-bar + .icon-bar {
    margin-top: 4px;
}

@media (min-width:768px) {
    .navbar-toggle {
        display: none;
    }
}

.navbar-nav {
    margin: 7.5px -15px;
}

.navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 20px;
}

@media (max-width:767px) {
    .navbar-right.sf-horizontal ul ul.dropdown-menu {
        margin-top: 0 !important;
    }

    .navbar-nav .open .dropdown-menu {
        position: static !important;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
    }

    .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header {
        padding: 5px 15px 5px 25px;
    }

    .navbar-nav .open .dropdown-menu > li > a {
        line-height: 20px;
    }

    .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus {
        background-image: none;
    }
}

@media (min-width:768px) {
    .navbar-nav {
        float: right;
        margin: 0;
    }

    .navbar-nav > li {
        float: right;
    }

    .navbar-nav > li > a {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

.navbar-form {
    margin-right: -15px;
    margin-left: -15px;
    padding: 10px 15px;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);
    margin-top: 8px;
    margin-bottom: 8px;
}

@media (min-width:768px) {
    .navbar-form .form-group {
        display: inline-block;
        margin-bottom: 0;
        vertical-align: middle;
    }

    .navbar-form .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }

    .navbar-form .form-control-static {
        display: inline-block;
    }

    .navbar-form .input-group {
        display: inline-table;
        vertical-align: middle;
    }

    .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control {
        width: auto;
    }

    .navbar-form .input-group > .form-control {
        width: 100%;
    }

    .navbar-form .control-label {
        margin-bottom: 0;
        vertical-align: middle;
    }

    .navbar-form .radio, .navbar-form .checkbox {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
    }

    .navbar-form .radio label, .navbar-form .checkbox label {
        padding-right: 0;
    }

    .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] {
        position: relative;
        margin-right: 0;
    }

    .navbar-form .has-feedback .form-control-feedback {
        top: 0;
    }
}

@media (max-width:767px) {
    .navbar-form .form-group {
        margin-bottom: 5px;
    }

    .navbar-form .form-group:last-child {
        margin-bottom: 0;
    }
}

@media (min-width:768px) {
    .navbar-form {
        width: auto;
        border: 0;
        margin-right: 0;
        margin-left: 0;
        padding-top: 0;
        padding-bottom: 0;
        box-shadow: none;
    }
}

.navbar-nav > li > .dropdown-menu {
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.navbar-btn {
    margin-top: 8px;
    margin-bottom: 8px;
}

.navbar-btn.btn-sm {
    margin-top: 10px;
    margin-bottom: 10px;
}

.navbar-btn.btn-xs {
    margin-top: 14px;
    margin-bottom: 14px;
}

.navbar-text {
    margin-top: 15px;
    margin-bottom: 15px;
}

@media (min-width:768px) {
    .navbar-text {
        float: right;
        margin-right: 15px;
        margin-left: 15px;
    }
}

@media (min-width:768px) {
    .navbar-right {
        float: right !important;
    }

    .navbar-left {
        float: left !important;
        margin-left: -15px;
    }

    .navbar-left ~ .navbar-left {
        margin-left: 0;
    }
}

.navbar-default {
    background-color: #f8f8f8;
    border-color: #e7e7e7;
}

.navbar-default .navbar-brand {
    color: #777;
}

.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
    color: #5e5e5e;
    background-color: transparent;
}

.navbar-default .navbar-text {
    color: #777;
}

.navbar-default .navbar-nav > li > a {
    color: #777;
}

.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
    color: #333;
    background-color: transparent;
}

.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7;
}

.navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
}

.navbar-default .navbar-toggle {
    border-color: #ddd;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    background-color: #ddd;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #888;
}

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
    border-color: #e7e7e7;
}

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
    background-color: #e7e7e7;
    color: #555;
}

@media (max-width:767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
        color: #777;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #333;
        background-color: transparent;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
        color: #555;
        background-color: #e7e7e7;
    }

    .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
        color: #ccc;
        background-color: transparent;
    }
}

.navbar-default .navbar-link {
    color: #777;
}

.navbar-default .navbar-link:hover {
    color: #333;
}

.navbar-default .btn-link {
    color: #777;
}

.navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
    color: #333;
}

.navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus {
    color: #ccc;
}

.navbar-inverse {
    background-color: #222;
    border-color: #080808;
}

.navbar-inverse .navbar-brand {
    color: #9d9d9d;
}

.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
    color: #fff;
    background-color: transparent;
}

.navbar-inverse .navbar-text {
    color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a {
    color: #9d9d9d;
}

.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
    color: #fff;
    background-color: transparent;
}

.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
    color: #fff;
    background-color: #080808;
}

.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
    color: #444;
    background-color: transparent;
}

.navbar-inverse .navbar-toggle {
    border-color: #333;
}

.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
    background-color: #333;
}

.navbar-inverse .navbar-toggle .icon-bar {
    background-color: #fff;
}

.navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form {
    border-color: #101010;
}

.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #080808;
    color: #fff;
}

@media (max-width:767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
        border-color: #080808;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
        background-color: #080808;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
        color: #9d9d9d;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #fff;
        background-color: transparent;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
        color: #fff;
        background-color: #080808;
    }

    .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
        color: #444;
        background-color: transparent;
    }
}

.navbar-inverse .navbar-link {
    color: #9d9d9d;
}

.navbar-inverse .navbar-link:hover {
    color: #fff;
}

.navbar-inverse .btn-link {
    color: #9d9d9d;
}

.navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
    color: #fff;
}

.navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus {
    color: #444;
}

.breadcrumb {
    padding: 8px 15px;
    margin-bottom: 20px;
    list-style: none;
    background-color: #f5f5f5;
    border-radius: 4px;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li + li:before {
    content: "/\00a0";
    padding: 0 5px;
    color: #ccc;
}

.breadcrumb > .active {
    color: #777;
}

.pagination {
    display: inline-block;
    padding-right: 0;
    margin: 20px 0;
    border-radius: 4px;
}

.pagination > li {
    display: inline;
}

.pagination > li > a, .pagination > li > span {
    position: relative;
    float: right;
    padding: 6px 12px;
    line-height: 1.42857143;
    text-decoration: none;
    color: #337ab7;
    background-color: #fff;
    border: 1px solid #ddd;
    margin-right: -1px;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
    margin-right: 0;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
}

.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {
    color: #23527c;
    background-color: #eee;
    border-color: #ddd;
}

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
    cursor: default;
}

.pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus {
    color: #777;
    background-color: #fff;
    border-color: #ddd;
    cursor: not-allowed;
}

.pagination-lg > li > a, .pagination-lg > li > span {
    padding: 10px 16px;
    font-size: 18px;
}

.pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span {
    border-bottom-right-radius: 6px;
    border-top-right-radius: 6px;
}

.pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span {
    border-bottom-left-radius: 6px;
    border-top-left-radius: 6px;
}

.pagination-sm > li > a, .pagination-sm > li > span {
    padding: 5px 10px;
    font-size: 12px;
}

.pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span {
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
}

.pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span {
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
}

.pager {
    padding-right: 0;
    margin: 20px 0;
    list-style: none;
    text-align: center;
}

.pager li {
    display: inline;
}

.pager li > a, .pager li > span {
    display: inline-block;
    padding: 5px 14px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 15px;
}

.pager li > a:hover, .pager li > a:focus {
    text-decoration: none;
    background-color: #eee;
}

.pager .next > a, .pager .next > span {
    float: left;
}

.pager .previous > a, .pager .previous > span {
    float: right;
}

.pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span {
    color: #777;
    background-color: #fff;
    cursor: not-allowed;
}

.label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

a.label:hover, a.label:focus {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.label:empty {
    display: none;
}

.btn .label {
    position: relative;
    top: -1px;
}

.label-default {
    background-color: #777;
}

.label-default[href]:hover, .label-default[href]:focus {
    background-color: #5e5e5e;
}

.label-primary {
    background-color: #337ab7;
}

.label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #286090;
}

.label-success {
    background-color: #5cb85c;
}

.label-success[href]:hover, .label-success[href]:focus {
    background-color: #449d44;
}

.label-info {
    background-color: #5bc0de;
}

.label-info[href]:hover, .label-info[href]:focus {
    background-color: #31b0d5;
}

.label-warning {
    background-color: #f0ad4e;
}

.label-warning[href]:hover, .label-warning[href]:focus {
    background-color: #ec971f;
}

.label-danger {
    background-color: #d9534f;
}

.label-danger[href]:hover, .label-danger[href]:focus {
    background-color: #c9302c;
}

.badge {
    display: inline-block;
    min-width: 10px;
    padding: 3px 7px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    line-height: 1;
    vertical-align: baseline;
    white-space: nowrap;
    text-align: center;
    background-color: #777;
    border-radius: 10px;
}

.badge:empty {
    display: none;
}

.btn .badge {
    position: relative;
    top: -1px;
}

.btn-xs .badge {
    top: 0;
    padding: 1px 5px;
}

a.badge:hover, a.badge:focus {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.list-group-item.active > .badge, .nav-pills > .active > a > .badge {
    color: #337ab7;
    background-color: #fff;
}

.list-group-item > .badge {
    float: left;
}

.list-group-item > .badge + .badge {
    margin-left: 5px;
}

.nav-pills > li > a > .badge {
    margin-right: 3px;
}

.jumbotron {
    padding: 30px 15px;
    margin-bottom: 30px;
    color: inherit;
    background-color: #eee;
}

.jumbotron h1, .jumbotron .h1 {
    color: inherit;
}

.jumbotron p {
    margin-bottom: 15px;
    font-size: 21px;
    font-weight: 200;
}

.jumbotron > hr {
    border-top-color: #d5d5d5;
}

.container .jumbotron, .container-fluid .jumbotron {
    border-radius: 6px;
}

.jumbotron .container {
    max-width: 100%;
}

@media screen and (min-width:768px) {
    .jumbotron {
        padding: 48px 0;
    }

    .container .jumbotron, .container-fluid .jumbotron {
        padding-right: 60px;
        padding-left: 60px;
    }

    .jumbotron h1, .jumbotron .h1 {
        font-size: 63px;
    }
}

.thumbnail {
    display: block;
    padding: 4px;
    margin-bottom: 20px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
}

.thumbnail > img, .thumbnail a > img {
    margin-right: auto;
    margin-left: auto;
}

a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active {
    border-color: #337ab7;
}

.thumbnail .caption {
    padding: 9px;
    color: #333;
}

.alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.alert h4 {
    margin-top: 0;
    color: inherit;
}

.alert .alert-link {
    font-weight: bold;
}

.alert > p, .alert > ul {
    margin-bottom: 0;
}

.alert > p + p {
    margin-top: 5px;
}

.alert-dismissable, .alert-dismissible {
    padding-left: 15px;
}

.alert-dismissable .close, .alert-dismissible .close {
    position: relative;
    top: 2px;
    left: 0;
    color: inherit;
}

.alert-success {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d;
}

.alert-success hr {
    border-top-color: #c9e2b3;
}

.alert-success .alert-link {
    color: #2b542c;
}

.alert-info {
    background-color: #d9edf7;
    border-color: #bce8f1;
    color: #31708f;
}

.alert-info hr {
    border-top-color: #a6e1ec;
}

.alert-info .alert-link {
    color: #245269;
}

.alert-warning {
    background-color: #fcf8e3;
    border-color: #faebcc;
    color: #8a6d3b;
}

.alert-warning hr {
    border-top-color: #f7e1b5;
}

.alert-warning .alert-link {
    color: #66512c;
}

.alert-danger {
    background-color: #f2dede;
    border-color: #ebccd1;
    color: #a94442;
}

.alert-danger hr {
    border-top-color: #e4b9c0;
}

.alert-danger .alert-link {
    color: #843534;
}

@-webkit-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }

    to {
        background-position: 0 0;
    }
}

@-o-keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }

    to {
        background-position: 0 0;
    }
}

@keyframes progress-bar-stripes {
    from {
        background-position: 40px 0;
    }

    to {
        background-position: 0 0;
    }
}

.progress {
    overflow: hidden;
    height: 15px;
    margin-bottom: 20px;
    margin-top: 15px;
    box-shadow: none;
    border-radius: 4px;
    background: #e9ecef;
}

.progress-bar {
    float: right;
    width: 0%;
    height: 100%;
    font-size: 12px;
    line-height: 20px;
    color: #fff;
    text-align: center;
    background-color: #337ab7;
    box-shadow: inset 0 -1px 0 rgba(0,0,0,0.15);
    -webkit-transition: width .6s ease;
    -o-transition: width .6s ease;
    transition: width .6s ease;
}

.progress-striped .progress-bar, .progress-bar-striped {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    -webkit-background-size: 40px 40px;
    background-size: 40px 40px;
}

.progress.active .progress-bar, .progress-bar.active {

}

.progress-bar-success {
    background: #28a745 !important;
}

.progress-striped .progress-bar-success {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
}

.progress-bar-info {
    background-color: #5bc0de;
}

.progress-striped .progress-bar-info {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
}

.progress-bar-warning {
    background-color: #f0ad4e;
}

.progress-striped .progress-bar-warning {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
}

.progress-bar-danger {
    background-color: #d9534f;
}

.progress-striped .progress-bar-danger {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
}

.media {
    margin-top: 15px;
}

.media:first-child {
    margin-top: 0;
}

.media-left, .media > .pull-left {
    padding-right: 10px;
}

.media-right, .media > .pull-right {
    padding-left: 10px;
}

.media-right, .media-left, .media-body {
    display: table-cell;
    vertical-align: top;
}

.media-middle {
    vertical-align: middle;
}

.media-bottom {
    vertical-align: bottom;
}

.media-heading {
    margin-top: 0;
    margin-bottom: 5px;
}

.media-list {
    padding-right: 0;
    list-style: none;
}

.list-group {
    margin-bottom: 20px;
    padding-right: 0;
}

.list-group-item {
    position: relative;
    display: block;
    padding: 10px 15px;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid #ddd;
}

.list-group-item:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

a.list-group-item {
    color: #555;
}

a.list-group-item .list-group-item-heading {
    color: #333;
}

a.list-group-item:hover, a.list-group-item:focus {
    text-decoration: none;
    color: #555;
    background-color: #f5f5f5;
}

.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
    background-color: #eee;
    color: #777;
    cursor: not-allowed;
}

.list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading {
    color: inherit;
}

.list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text {
    color: #777;
}

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
    z-index: 2;
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
}

.list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small {
    color: inherit;
}

.list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text {
    color: #c7ddef;
}

.list-group-item-success {
    color: #3c763d;
    background-color: #dff0d8;
}

a.list-group-item-success {
    color: #3c763d;
}

a.list-group-item-success .list-group-item-heading {
    color: inherit;
}

a.list-group-item-success:hover, a.list-group-item-success:focus {
    color: #3c763d;
    background-color: #d0e9c6;
}

a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d;
}

.list-group-item-info {
    color: #31708f;
    background-color: #d9edf7;
}

a.list-group-item-info {
    color: #31708f;
}

a.list-group-item-info .list-group-item-heading {
    color: inherit;
}

a.list-group-item-info:hover, a.list-group-item-info:focus {
    color: #31708f;
    background-color: #c4e3f3;
}

a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f;
}

.list-group-item-warning {
    color: #8a6d3b;
    background-color: #fcf8e3;
}

a.list-group-item-warning {
    color: #8a6d3b;
}

a.list-group-item-warning .list-group-item-heading {
    color: inherit;
}

a.list-group-item-warning:hover, a.list-group-item-warning:focus {
    color: #8a6d3b;
    background-color: #faf2cc;
}

a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b;
}

.list-group-item-danger {
    color: #a94442;
    background-color: #f2dede;
}

a.list-group-item-danger {
    color: #a94442;
}

a.list-group-item-danger .list-group-item-heading {
    color: inherit;
}

a.list-group-item-danger:hover, a.list-group-item-danger:focus {
    color: #a94442;
    background-color: #ebcccc;
}

a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus {
    color: #fff;
    background-color: #a94442;
    border-color: #a94442;
}

.list-group-item-heading {
    margin-top: 0;
    margin-bottom: 5px;
}

.list-group-item-text {
    margin-bottom: 0;
    line-height: 1.3;
}

.panel {
    margin-bottom: 20px;
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.05);
    box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}

.panel-body {
    padding: 15px;
}

.panel-heading {
    padding: 10px 15px;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.panel-heading > .dropdown .dropdown-toggle {
    color: inherit;
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    color: inherit;
}

.panel-title > a {
    color: inherit;
}

.panel-footer {
    padding: 10px 15px;
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.panel > .list-group, .panel > .panel-collapse > .list-group {
    margin-bottom: 0;
}

.panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item {
    border-width: 1px 0;
    border-radius: 0;
}

.panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
    border-top: 0;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
    border-bottom: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.panel-heading + .list-group .list-group-item:first-child {
    border-top-width: 0;
}

.list-group + .panel-footer {
    border-top-width: 0;
}

.panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table {
    margin-bottom: 0;
}

.panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption {
    padding-right: 15px;
    padding-left: 15px;
}

.panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
    border-top-right-radius: 3px;
    border-top-left-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
    border-top-right-radius: 3px;
}

.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
    border-top-left-radius: 3px;
}

.panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
    border-bottom-right-radius: 3px;
}

.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
    border-bottom-left-radius: 3px;
}

.panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body {
    border-top: 1px solid #ddd;
}

.panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td {
    border-top: 0;
}

.panel > .table-bordered, .panel > .table-responsive > .table-bordered {
    border: 0;
}

.panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-right: 0;
}

.panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-left: 0;
}

.panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
    border-bottom: 0;
}

.panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
    border-bottom: 0;
}

.panel > .table-responsive {
    border: 0;
    margin-bottom: 0;
}

.panel-group {
    margin-bottom: 20px;
}

.panel-group .panel {
    margin-bottom: 0;
    border-radius: 4px;
}

.panel-group .panel + .panel {
    margin-top: 5px;
}

.panel-group .panel-heading {
    border-bottom: 0;
}

.panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group {
    border-top: 1px solid #ddd;
}

.panel-group .panel-footer {
    border-top: 0;
}

.panel-group .panel-footer + .panel-collapse .panel-body {
    border-bottom: 1px solid #ddd;
}

.panel-default {
    border-color: #ddd;
}

.panel-default > .panel-heading {
    color: #333;
    background-color: #f5f5f5;
    border-color: #ddd;
}

.panel-default > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #ddd;
}

.panel-default > .panel-heading .badge {
    color: #f5f5f5;
    background-color: #333;
}

.panel-default > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ddd;
}

.panel-primary {
    border-color: #337ab7;
}

.panel-primary > .panel-heading {
    color: #fff;
    background-color: #337ab7;
    border-color: #337ab7;
}

.panel-primary > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #337ab7;
}

.panel-primary > .panel-heading .badge {
    color: #337ab7;
    background-color: #fff;
}

.panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #337ab7;
}

.panel-success {
    border-color: #d6e9c6;
}

.panel-success > .panel-heading {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.panel-success > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #d6e9c6;
}

.panel-success > .panel-heading .badge {
    color: #dff0d8;
    background-color: #3c763d;
}

.panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #d6e9c6;
}

.panel-info {
    border-color: #bce8f1;
}

.panel-info > .panel-heading {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.panel-info > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #bce8f1;
}

.panel-info > .panel-heading .badge {
    color: #d9edf7;
    background-color: #31708f;
}

.panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #bce8f1;
}

.panel-warning {
    border-color: #faebcc;
}

.panel-warning > .panel-heading {
    color: #8a6d3b;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

.panel-warning > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #faebcc;
}

.panel-warning > .panel-heading .badge {
    color: #fcf8e3;
    background-color: #8a6d3b;
}

.panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #faebcc;
}

.panel-danger {
    border-color: #ebccd1;
}

.panel-danger > .panel-heading {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.panel-danger > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: #ebccd1;
}

.panel-danger > .panel-heading .badge {
    color: #f2dede;
    background-color: #a94442;
}

.panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #ebccd1;
}

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    border: 0;
}

.embed-responsive.embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.embed-responsive.embed-responsive-4by3 {
    padding-bottom: 75%;
}

.well {
    min-height: 20px;
    padding: 19px;
    margin-bottom: 20px;
    background-color: #f5f5f5;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.well blockquote {
    border-color: #ddd;
    border-color: rgba(0,0,0,0.15);
}

.well-lg {
    padding: 24px;
    border-radius: 6px;
}

.well-sm {
    padding: 9px;
    border-radius: 3px;
}

.close {
    float: left;
    font-size: 21px;
    font-weight: bold;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .2;
    filter: alpha(opacity=20);
}

    .close:hover, .close:focus {
        color: #000;
        text-decoration: none;
        cursor: pointer;
        opacity: .5;
        filter: alpha(opacity=50);
        outline: none;
    }

button.close {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
}

.modal-open {
    overflow: hidden;
}

.modal {
    display: none;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1050;
    -webkit-overflow-scrolling: touch;
    outline: 0;
}

.modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    -o-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform 0.3s ease-out;
    -o-transition: -o-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
}

.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
}

.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px;
}

.modal-content {
    position: relative;
    background-color: #fff;
    border: 1px solid #999;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 6px;
    -webkit-box-shadow: 0 3px 9px rgba(0,0,0,0.5);
    box-shadow: 0 3px 9px rgba(0,0,0,0.5);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    outline: 0;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #000;
    bottom: 0;
    z-index: 1040;
}

.modal-backdrop.fade {
    opacity: 0;
    filter: alpha(opacity=0);
}

.modal-backdrop.in {
    opacity: .5;
    filter: alpha(opacity=50);
}

.modal-header {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    min-height: 16.42857143px;
}

.modal-header .close {
    margin-top: -2px;
}

.modal-title {
    margin: 0;
    line-height: 1.42857143;
}

.modal-body {
    position: relative;
    padding: 15px;
}

.modal-footer {
    padding: 15px;
    text-align: left;
    border-top: 1px solid #e5e5e5;
    clear: both;
}

.modal-footer .btn + .btn {
    margin-right: 5px;
    margin-bottom: 0;
}

.modal-footer .btn-group .btn + .btn {
    margin-right: -1px;
}

.modal-footer .btn-block + .btn-block {
    margin-right: 0;
}

.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
}

@media (min-width:768px) {
    .modal-dialog {
        width: 600px;
        margin: 30px auto;
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0,0,0,0.5);
        box-shadow: 0 5px 15px rgba(0,0,0,0.5);
    }

    .modal-sm {
        width: 300px;
    }
}

@media (min-width:992px) {
    .modal-lg {
        width: 900px;
    }
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    visibility: visible;
    font-family: "SDF",Tahoma,Helvetica,Arial,sans-serif;
    font-size: 12px;
    font-weight: normal;
    line-height: 1.4;
    opacity: 0;
    filter: alpha(opacity=0);
}

.tooltip.in {
    opacity: .9;
    filter: alpha(opacity=90);
}

.tooltip.top {
    margin-top: -3px;
    padding: 5px 0;
}

.tooltip.left {
    margin-right: 3px;
    padding: 0 5px;
}

.tooltip.bottom {
    margin-top: 3px;
    padding: 5px 0;
}

.tooltip.right {
    margin-right: -3px;
    padding: 0 5px;
}

.tooltip-inner {
    max-width: 200px;
    padding: 3px 8px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background-color: #000;
    border-radius: 4px;
}

.tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

.tooltip.top .tooltip-arrow {
    bottom: 0;
    right: 50%;
    margin-right: -5px;
    border-width: 5px 5px 0;
    border-top-color: #000;
}

.tooltip.top-right .tooltip-arrow {
    bottom: 0;
    left: 5px;
    margin-bottom: -5px;
    border-width: 5px 5px 0;
    border-top-color: #000;
}

.tooltip.top-left .tooltip-arrow {
    bottom: 0;
    right: 5px;
    margin-bottom: -5px;
    border-width: 5px 5px 0;
    border-top-color: #000;
}

.tooltip.left .tooltip-arrow {
    top: 50%;
    right: 0;
    margin-top: -5px;
    border-width: 5px 5px 5px 0;
    border-left-color: #000;
}

.tooltip.right .tooltip-arrow {
    top: 50%;
    left: 0;
    margin-top: -5px;
    border-width: 5px 0 5px 5px;
    border-right-color: #000;
}

.tooltip.bottom .tooltip-arrow {
    top: 0;
    right: 50%;
    margin-right: -5px;
    border-width: 0 5px 5px;
    border-bottom-color: #000;
}

.tooltip.bottom-right .tooltip-arrow {
    top: 0;
    left: 5px;
    margin-top: -5px;
    border-width: 0 5px 5px;
    border-bottom-color: #000;
}

.tooltip.bottom-left .tooltip-arrow {
    top: 0;
    right: 5px;
    margin-top: -5px;
    border-width: 0 5px 5px;
    border-bottom-color: #000;
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 1px;
    font-family: "SDF",Tahoma,Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: right;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    white-space: normal;
}

.popover.top {
    margin-top: -10px;
}

.popover.left {
    margin-right: 10px;
}

.popover.bottom {
    margin-top: 10px;
}

.popover.right {
    margin-right: -10px;
}

.popover-title {
    margin: 0;
    padding: 8px 14px;
    font-size: 14px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-radius: 5px 5px 0 0;
}

.popover-content {
    padding: 9px 14px;
}

.popover > .arrow, .popover > .arrow:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

.popover > .arrow {
    border-width: 11px;
}

.popover > .arrow:after {
    border-width: 10px;
    content: "";
}

.popover.top > .arrow {
    right: 50%;
    margin-right: -11px;
    border-bottom-width: 0;
    border-top-color: #999;
    border-top-color: rgba(0,0,0,0.25);
    bottom: -11px;
}

.popover.top > .arrow:after {
    content: " ";
    bottom: 1px;
    margin-right: -10px;
    border-bottom-width: 0;
    border-top-color: #fff;
}

.popover.left > .arrow {
    top: 50%;
    right: -11px;
    margin-top: -11px;
    border-right-width: 0;
    border-left-color: #999;
    border-left-color: rgba(0,0,0,0.25);
}

.popover.left > .arrow:after {
    content: " ";
    right: 1px;
    bottom: -10px;
    border-right-width: 0;
    border-left-color: #fff;
}

.popover.bottom > .arrow {
    right: 50%;
    margin-right: -11px;
    border-top-width: 0;
    border-bottom-color: #999;
    border-bottom-color: rgba(0,0,0,0.25);
    top: -11px;
}

.popover.bottom > .arrow:after {
    content: " ";
    top: 1px;
    margin-right: -10px;
    border-top-width: 0;
    border-bottom-color: #fff;
}

.popover.right > .arrow {
    top: 50%;
    left: -11px;
    margin-top: -11px;
    border-left-width: 0;
    border-right-color: #999;
    border-right-color: rgba(0,0,0,0.25);
}

.popover.right > .arrow:after {
    content: " ";
    left: 1px;
    border-left-width: 0;
    border-right-color: #fff;
    bottom: -10px;
}

.carousel {
    position: relative;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.carousel-inner > .item {
    position: relative;
    display: none;
    -webkit-transition: .6s ease-in-out left;
    -o-transition: .6s ease-in-out left;
    transition: .6s ease-in-out left;
}

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
    line-height: 1;
}

.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
    display: block;
}

.carousel-inner > .active {
    left: 0;
}

.carousel-inner > .next,
.carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%;
}

.carousel-inner > .next {
    left: 100%;
}

.carousel-inner > .prev {
    left: -100%;
}

.carousel-inner > .next.left,
.carousel-inner > .prev.right {
    left: 0;
}

.carousel-inner > .active.left {
    left: -100%;
}

.carousel-inner > .active.right {
    left: 100%;
}

.carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
    filter: alpha(opacity=50);
    opacity: .5;
}

.carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-repeat: repeat-x;
}

.carousel-control.right {
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-repeat: repeat-x;
}

.carousel-control:hover,
.carousel-control:focus {
    color: #fff;
    text-decoration: none;
    filter: alpha(opacity=90);
    outline: 0;
    opacity: .9;
}

.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
}

.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px;
}

.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px;
}

.carousel-control .icon-prev,
.carousel-control .icon-next {
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-family: serif;
}

.carousel-control .icon-prev:before {
    content: '\203a';
}

.carousel-control .icon-next:before {
    content: '\2039';
}

.carousel-indicators {
    position: absolute;
    bottom: 10px;
    left: 50%;
    z-index: 15;
    width: 60%;
    padding-left: 0;
    margin-left: -30%;
    text-align: center;
    list-style: none;
}

.carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #fff;
    border-radius: 10px;
}

.carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: #fff;
}

.carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
}

.carousel-caption .btn {
    text-shadow: none;
}

@media screen and (min-width: 768px) {
    .carousel-control .glyphicon-chevron-left,
    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-prev,
    .carousel-control .icon-next {
        width: 30px;
        height: 30px;
        margin-top: -15px;
        font-size: 30px;
    }

    .carousel-control .glyphicon-chevron-left,
    .carousel-control .icon-prev {
        margin-left: -15px;
    }

    .carousel-control .glyphicon-chevron-right,
    .carousel-control .icon-next {
        margin-right: -15px;
    }

    .carousel-caption {
        right: 20%;
        left: 20%;
        padding-bottom: 30px;
    }

    .carousel-indicators {
        bottom: 20px;
    }
}

.clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after {
    content: " ";
    display: table;
}

.clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after {
    clear: both;
}

.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.pull-left {
    float: left !important;
}

.pull-right {
    float: right !important;
}

.hide {
    display: none !important;
}

.show {
    display: block !important;
}

.invisible {
    visibility: hidden;
}

.text-hide {
    font-size: 0;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.hidden {
    display: none !important;
    visibility: hidden !important;
}

.affix {
    position: fixed;
}

@-ms-viewport {
    width: device-width;
}

.visible-xs, .visible-sm, .visible-md, .visible-lg {
    display: none !important;
}

.visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block {
    display: none !important;
}

@media (max-width:767px) {
    .visible-xs {
        display: block !important;
    }

    table.visible-xs {
        display: table;
    }

    tr.visible-xs {
        display: table-row !important;
    }

    th.visible-xs, td.visible-xs {
        display: table-cell !important;
    }
}

@media (max-width:767px) {
    .visible-xs-block {
        display: block !important;
    }
}

@media (max-width:767px) {
    .visible-xs-inline {
        display: inline !important;
    }
}

@media (max-width:767px) {
    .visible-xs-inline-block {
        display: inline-block !important;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm {
        display: block !important;
    }

    table.visible-sm {
        display: table;
    }

    tr.visible-sm {
        display: table-row !important;
    }

    th.visible-sm, td.visible-sm {
        display: table-cell !important;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-block {
        display: block !important;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline {
        display: inline !important;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline-block {
        display: inline-block !important;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md {
        display: block !important;
    }

    table.visible-md {
        display: table;
    }

    tr.visible-md {
        display: table-row !important;
    }

    th.visible-md, td.visible-md {
        display: table-cell !important;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-block {
        display: block !important;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline {
        display: inline !important;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline-block {
        display: inline-block !important;
    }
}

@media (min-width:1200px) {
    .visible-lg {
        display: block !important;
    }

    table.visible-lg {
        display: table;
    }

    tr.visible-lg {
        display: table-row !important;
    }

    th.visible-lg, td.visible-lg {
        display: table-cell !important;
    }
}

@media (min-width:1200px) {
    .visible-lg-block {
        display: block !important;
    }
}

@media (min-width:1200px) {
    .visible-lg-inline {
        display: inline !important;
    }
}

@media (min-width:1200px) {
    .visible-lg-inline-block {
        display: inline-block !important;
    }
}

@media (max-width:767px) {
    .hidden-xs {
        display: none !important;
    }
}

@media (min-width:768px) and (max-width:991px) {
    .hidden-sm {
        display: none !important;
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .hidden-md {
        display: none !important;
    }
}

@media (min-width:1200px) {
    .hidden-lg {
        display: none !important;
    }
}

.visible-print {
    display: none !important;
}

@media print {
    .visible-print {
        display: block !important;
    }

    table.visible-print {
        display: table;
    }

    tr.visible-print {
        display: table-row !important;
    }

    th.visible-print, td.visible-print {
        display: table-cell !important;
    }
}

.visible-print-block {
    display: none !important;
}

@media print {
    .visible-print-block {
        display: block !important;
    }
}

.visible-print-inline {
    display: none !important;
}

@media print {
    .visible-print-inline {
        display: inline !important;
    }
}

.visible-print-inline-block {
    display: none !important;
}

@media print {
    .visible-print-inline-block {
        display: inline-block !important;
    }
}

@media print {
    .hidden-print {
        display: none !important;
    }
}

/*!
 * Bootstrap v3.3.1 (http://getbootstrap.com)
 * Copyleft 2011-2014 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*!
 * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=4304ef2003ce87516686)
 * Config saved to config.json and https://gist.github.com/4304ef2003ce87516686
 */ .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger {
    text-shadow: 0 -1px 0 rgba(0,0,0,0.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);
}

.btn-default:active, .btn-primary:active, .btn-success:active, .btn-info:active, .btn-warning:active, .btn-danger:active, .btn-default.active, .btn-primary.active, .btn-success.active, .btn-info.active, .btn-warning.active, .btn-danger.active {
    -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
    box-shadow: inset 0 3px 5px rgba(0,0,0,0.125);
}

.btn-default .badge, .btn-primary .badge, .btn-success .badge, .btn-info .badge, .btn-warning .badge, .btn-danger .badge {
    text-shadow: none;
}

.btn:active, .btn.active {
    background-image: none;
}

.btn-default {
    background-image: -webkit-linear-gradient(top, #fff 0, #e0e0e0 100%);
    background-image: -o-linear-gradient(top, #fff 0, #e0e0e0 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #fff), to(#e0e0e0));
    background-image: linear-gradient(to bottom, #fff 0, #e0e0e0 100%);
    background-repeat: repeat-x;
    border-color: #dbdbdb;
    text-shadow: 0 1px 0 #fff;
    border-color: #ccc;
}

.btn-default:hover, .btn-default:focus {
    background-color: #e0e0e0;
    background-position: 0 -15px;
}

.btn-default:active, .btn-default.active {
    background-color: #e0e0e0;
    border-color: #dbdbdb;
}

.btn-default:disabled, .btn-default[disabled] {
    background-color: #e0e0e0;
    background-image: none;
}

.btn-primary {
    background-image: -webkit-linear-gradient(top, #337ab7 0, #265a88 100%);
    background-image: -o-linear-gradient(top, #337ab7 0, #265a88 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #337ab7), to(#265a88));
    background-image: linear-gradient(to bottom, #337ab7 0, #265a88 100%);
    background-repeat: repeat-x;
    border-color: #245580;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: #265a88;
    background-position: 0 -15px;
}

.btn-primary:active, .btn-primary.active {
    background-color: #265a88;
    border-color: #245580;
}

.btn-primary:disabled, .btn-primary[disabled] {
    background-color: #265a88;
    background-image: none;
}

.btn-success {
    background-image: -webkit-linear-gradient(top, #5cb85c 0, #419641 100%);
    background-image: -o-linear-gradient(top, #5cb85c 0, #419641 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #5cb85c), to(#419641));
    background-image: linear-gradient(to bottom, #5cb85c 0, #419641 100%);
    background-repeat: repeat-x;
    border-color: #3e8f3e;
}

.btn-success:hover, .btn-success:focus {
    background-color: #419641;
    background-position: 0 -15px;
}

.btn-success:active, .btn-success.active {
    background-color: #419641;
    border-color: #3e8f3e;
}

.btn-success:disabled, .btn-success[disabled] {
    background-color: #419641;
    background-image: none;
}

.btn-info {
    background-image: -webkit-linear-gradient(top, #5bc0de 0, #2aabd2 100%);
    background-image: -o-linear-gradient(top, #5bc0de 0, #2aabd2 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #5bc0de), to(#2aabd2));
    background-image: linear-gradient(to bottom, #5bc0de 0, #2aabd2 100%);
    background-repeat: repeat-x;
    border-color: #28a4c9;
}

.btn-info:hover, .btn-info:focus {
    background-color: #2aabd2;
    background-position: 0 -15px;
}

.btn-info:active, .btn-info.active {
    background-color: #2aabd2;
    border-color: #28a4c9;
}

.btn-info:disabled, .btn-info[disabled] {
    background-color: #2aabd2;
    background-image: none;
}

.btn-warning {
    background-image: -webkit-linear-gradient(top, #f0ad4e 0, #eb9316 100%);
    background-image: -o-linear-gradient(top, #f0ad4e 0, #eb9316 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #f0ad4e), to(#eb9316));
    background-image: linear-gradient(to bottom, #f0ad4e 0, #eb9316 100%);
    background-repeat: repeat-x;
    border-color: #e38d13;
}

.btn-warning:hover, .btn-warning:focus {
    background-color: #eb9316;
    background-position: 0 -15px;
}

.btn-warning:active, .btn-warning.active {
    background-color: #eb9316;
    border-color: #e38d13;
}

.btn-warning:disabled, .btn-warning[disabled] {
    background-color: #eb9316;
    background-image: none;
}

.btn-danger {
    background-image: -webkit-linear-gradient(top, #d9534f 0, #c12e2a 100%);
    background-image: -o-linear-gradient(top, #d9534f 0, #c12e2a 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #d9534f), to(#c12e2a));
    background-image: linear-gradient(to bottom, #d9534f 0, #c12e2a 100%);
    background-repeat: repeat-x;
    border-color: #b92c28;
}

.btn-danger:hover, .btn-danger:focus {
    background-color: #c12e2a;
    background-position: 0 -15px;
}

.btn-danger:active, .btn-danger.active {
    background-color: #c12e2a;
    border-color: #b92c28;
}

.btn-danger:disabled, .btn-danger[disabled] {
    background-color: #c12e2a;
    background-image: none;
}

.thumbnail, .img-thumbnail {
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.075);
    box-shadow: 0 1px 2px rgba(0,0,0,0.075);
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
    background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #f5f5f5), to(#e8e8e8));
    background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
    background-repeat: repeat-x;
    background-color: #e8e8e8;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);
    background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #337ab7), to(#2e6da4));
    background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);
    background-repeat: repeat-x;
    background-color: #2e6da4;
}

.navbar-default {
    background-image: -webkit-linear-gradient(top, #fff 0, #f8f8f8 100%);
    background-image: -o-linear-gradient(top, #fff 0, #f8f8f8 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #fff), to(#f8f8f8));
    background-image: linear-gradient(to bottom, #fff 0, #f8f8f8 100%);
    background-repeat: repeat-x;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 5px rgba(0,0,0,0.075);
}

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a {
    background-image: -webkit-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);
    background-image: -o-linear-gradient(top, #dbdbdb 0, #e2e2e2 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #dbdbdb), to(#e2e2e2));
    background-image: linear-gradient(to bottom, #dbdbdb 0, #e2e2e2 100%);
    background-repeat: repeat-x;
    -webkit-box-shadow: inset 0 3px 9px rgba(0,0,0,0.075);
    box-shadow: inset 0 3px 9px rgba(0,0,0,0.075);
}

.navbar-brand, .navbar-nav > li > a {
    text-shadow: 0 1px 0 rgba(255,255,255,0.25);
}

.navbar-inverse {
    background-image: -webkit-linear-gradient(top, #3c3c3c 0, #222 100%);
    background-image: -o-linear-gradient(top, #3c3c3c 0, #222 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #3c3c3c), to(#222));
    background-image: linear-gradient(to bottom, #3c3c3c 0, #222 100%);
    background-repeat: repeat-x;
}

.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .active > a {
    background-image: -webkit-linear-gradient(top, #080808 0, #0f0f0f 100%);
    background-image: -o-linear-gradient(top, #080808 0, #0f0f0f 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #080808), to(#0f0f0f));
    background-image: linear-gradient(to bottom, #080808 0, #0f0f0f 100%);
    background-repeat: repeat-x;
    box-shadow: inset 0 3px 9px rgba(0,0,0,0.25);
}

.navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a {
    text-shadow: 0 -1px 0 rgba(0,0,0,0.25);
}

.navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom {
    border-radius: 0;
}

@media (max-width:767px) {
    .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
        color: #fff;
        background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);
        background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);
        background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #337ab7), to(#2e6da4));
        background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);
        background-repeat: repeat-x;
    }
}



.progress-bar {
    background: #007bff;
}

.progress-bar-info {
    background: #17a2b8 !important;
    }

.progress-bar-warning {
    background: #ffc107 !important;
}

.progress-bar-danger {
    background: #dc3545 !important;
}

.progress-bar-striped {
    background-image: -webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);
}

.list-group {
    border-radius: 4px;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.075);
    box-shadow: 0 1px 2px rgba(0,0,0,0.075);
}

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
    text-shadow: 0 -1px 0 #286090;
    background-image: -webkit-linear-gradient(top, #337ab7 0, #2b669a 100%);
    background-image: -o-linear-gradient(top, #337ab7 0, #2b669a 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #337ab7), to(#2b669a));
    background-image: linear-gradient(to bottom, #337ab7 0, #2b669a 100%);
    background-repeat: repeat-x;
    border-color: #2b669a;
}

.list-group-item.active .badge, .list-group-item.active:hover .badge, .list-group-item.active:focus .badge {
    text-shadow: none;
}

.panel {
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05);
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.panel-default > .panel-heading {
    background-image: -webkit-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -o-linear-gradient(top, #f5f5f5 0, #e8e8e8 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #f5f5f5), to(#e8e8e8));
    background-image: linear-gradient(to bottom, #f5f5f5 0, #e8e8e8 100%);
    background-repeat: repeat-x;
}

.panel-primary > .panel-heading {
    background-image: -webkit-linear-gradient(top, #337ab7 0, #2e6da4 100%);
    background-image: -o-linear-gradient(top, #337ab7 0, #2e6da4 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #337ab7), to(#2e6da4));
    background-image: linear-gradient(to bottom, #337ab7 0, #2e6da4 100%);
    background-repeat: repeat-x;
}

.panel-success > .panel-heading {
    background-image: -webkit-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);
    background-image: -o-linear-gradient(top, #dff0d8 0, #d0e9c6 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #dff0d8), to(#d0e9c6));
    background-image: linear-gradient(to bottom, #dff0d8 0, #d0e9c6 100%);
    background-repeat: repeat-x;
}

.panel-info > .panel-heading {
    background-image: -webkit-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);
    background-image: -o-linear-gradient(top, #d9edf7 0, #c4e3f3 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #d9edf7), to(#c4e3f3));
    background-image: linear-gradient(to bottom, #d9edf7 0, #c4e3f3 100%);
    background-repeat: repeat-x;
}

.panel-warning > .panel-heading {
    background-image: -webkit-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);
    background-image: -o-linear-gradient(top, #fcf8e3 0, #faf2cc 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #fcf8e3), to(#faf2cc));
    background-image: linear-gradient(to bottom, #fcf8e3 0, #faf2cc 100%);
    background-repeat: repeat-x;
}

.panel-danger > .panel-heading {
    background-image: -webkit-linear-gradient(top, #f2dede 0, #ebcccc 100%);
    background-image: -o-linear-gradient(top, #f2dede 0, #ebcccc 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #f2dede), to(#ebcccc));
    background-image: linear-gradient(to bottom, #f2dede 0, #ebcccc 100%);
    background-repeat: repeat-x;
}

.well {
    background-image: -webkit-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);
    background-image: -o-linear-gradient(top, #e8e8e8 0, #f5f5f5 100%);
    background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0, #e8e8e8), to(#f5f5f5));
    background-image: linear-gradient(to bottom, #e8e8e8 0, #f5f5f5 100%);
    background-repeat: repeat-x;
    border-color: #dcdcdc;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05),0 1px 0 rgba(255,255,255,0.1);
}

/* Start of Bootstrrap Customization */

.navbar-collapse {
    padding-left: 0;
    padding-right: 0;
}

.tab-content .tab-pane {
    padding: 5px;
}

.tab-content > .active {
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
}


.navbar-right > li {
    width: 100%;
}

.navbar-right > li > a {
    background: -webkit-gradient(linear, left top, right top, from(#e9e9e9), to(#f3f3f3));
    background: -webkit-linear-gradient(top, #e9e9e9, #f3f3f3);
    background: linear-gradient(to top, #e9e9e9, #f3f3f3);
    background-color: #e9e9e9;
}

.navbar-right .sub-arrow,
.navbar-right .collapsible .sub-arrow {
    border-top: 4px dashed transparent !important;
    border-right: 4px solid !important;
    border-bottom: 4px dashed transparent !important;
    border-left: 4px dashed transparent !important;
    margin-top: -2px;
    position: absolute !important;
    margin-left: 0 !important;
    left: 10px;
    top: 50%;
}

.navbar-right ul.dropdown-menu {
    min-width: 100% !important;
    right: 100% !important;
    left: auto !important;
    position: absolute;
    top: 0 !important;
}

.navbar-right ul.dropdown-menu ul.dropdown-menu {
    top: auto !important;
}

.navbar-right ul .sub-arrow {
    border-right: 4px solid;
    border-left: 0 !important;
}

.navbar-right > li > a {
    padding: 10px 5px 10px 25px;
}

.text-reverse-align {
    text-align: left;
}

.text-normal-align {
    text-align: right;
}


.checkbox-list label {
    display: inline-block;
    margin-left: 10px;
    margin-right: 4px;
}

.inlineBlock {
    display: inline-block;
}

.glyphicon-responsive {
    font-size: 2em;
}

.glyphicon-logo {
    font-size: 5em;
}

@media (min-width: 768px) {
    .glyphicon-logo {
        font-size: 5em;
    }

    .glyphicon-responsive {
        font-size: 1.8em;
    }
}

@media (min-width: 992px) {
    .glyphicon-logo {
        font-size: 6em;
    }

    .glyphicon-responsive {
        font-size: 1.6em;
    }
}

@media (min-width: 1200px) {
    .glyphicon-logo {
        font-size: 7em;
    }

    .glyphicon-responsive {
        font-size: 1.5em;
    }
}

select.form-control {
    padding-top: 0 !important;
}

.block {
    display: block;
}

ul.radio-inline li > label {
    margin-left: 20px;
}

/* col no padding */
@media (min-width:1200px) {
    .col-lg-np {
        padding-right: 0;
        padding-left: 0;
    }

    .col-lg-npl {
        padding-left: 0;
    }

    .col-lg-npr {
        padding-right: 0;
    }
}

@media (max-width:1199px) {
    .col-md-np {
        padding-right: 0;
        padding-left: 0;
    }

    .col-md-npl {
        padding-left: 0;
    }

    .col-md-npr {
        padding-right: 0;
    }
}

@media (max-width:991px) {
    .col-md-np {
        padding-right: 15px;
        padding-left: 15px;
    }

    .col-md-npl {
        padding-left: 15px;
    }

    .col-md-npr {
        padding-right: 15px;
    }

    /* Main Paddings */
    .col-sm-np {
        padding-right: 0;
        padding-left: 0;
    }

    .col-sm-npl {
        padding-left: 0;
    }

    .col-sm-npr {
        padding-right: 0;
    }

}

@media (max-width:767px) {
    .col-md-np {
        padding-right: 15px;
        padding-left: 15px;
    }

    .col-md-npl {
        padding-left: 15px;
    }

    .col-md-npr {
        padding-right: 15px;
    }

    .col-sm-np {
        padding-right: 15px;
        padding-left: 15px;
    }

    .col-sm-npl {
        padding-left: 15px;
    }

    .col-sm-npr {
        padding-right: 15px;
    }

    /** Main Paddings **/
    .col-xs-np {
        padding-right: 0;
        padding-left: 0;
    }

    .col-xs-npl {
        padding-left: 0;
    }

    .col-xs-npr {
        padding-right: 0;
    }
}
/**************End of col no padding*****************/
.panel-heading .accordion-toggle:before {
    font-family: 'Glyphicons Halflings';
    content: "\E806";
    float: right;
    color: grey;
    margin-right: 8px;
    padding-left: 4px;
}

.panel-heading .accordion-toggle.collapsed:before {
    content: "\E805";
    margin-right: 8px;
    padding-left: 4px;
}

/* End of Bootstrrap Customization */

/* Start of Bootstrap Vertical Tabs */
.tabs-left, .tabs-right {
    border-bottom: none;
    padding-top: 2px;
}

.tabs-left {
    border-right: 1px solid #ddd;
}

.tabs-right {
    border-left: 1px solid #ddd;
}

.tabs-left > li, .tabs-right > li {
    float: none;
    margin-bottom: 2px;
}

.tabs-left > li {
    margin-right: -1px;
}

.tabs-right > li {
    margin-left: -1px;
}

.tabs-left > li.active > a,
.tabs-left > li.active > a:hover,
.tabs-left > li.active > a:focus {
    border-bottom-color: #ddd;
    border-right-color: transparent;
}

.tabs-right > li.active > a,
.tabs-right > li.active > a:hover,
.tabs-right > li.active > a:focus {
    border-bottom: 1px solid #ddd;
    border-left-color: transparent;
}

.tabs-left > li > a {
    border-radius: 4px 0 0 4px;
    margin-right: 0;
    display: block;
}

.tabs-right > li > a {
    border-radius: 0 4px 4px 0;
    margin-right: 0;
}

.sideways {
    margin-top: 50px;
    border: none;
    position: relative;
}

.sideways > li {
    height: 20px;
    width: 120px;
    margin-bottom: 100px;
}

.sideways > li > a {
    border-bottom: 1px solid #ddd;
    border-right-color: transparent;
    text-align: center;
    border-radius: 4px 4px 0px 0px;
}

.sideways > li.active > a,
.sideways > li.active > a:hover,
.sideways > li.active > a:focus {
    border-bottom-color: transparent;
    border-right-color: #ddd;
    border-left-color: #ddd;
}

.sideways.tabs-left {
    left: -50px;
}

.sideways.tabs-right {
    right: -50px;
}

.sideways.tabs-right > li {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sideways.tabs-left > li {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}
/* End of Bootstrap Vertical Tabs */
/* start of btn */
.btn {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    padding: 0.84rem 2.14rem;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    margin: 0.375rem;
    border: none;
    -webkit-border-radius: 0.125rem;
    border-radius: 0.125rem;
    cursor: pointer;
    white-space: nowrap;
    color: #fff;
    text-decoration: none;
}

    .btn:hover, .btn:active, .btn:focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        outline: 0 !important;
    }

    .btn:not([disabled]):not(.disabled):active, .btn:not([disabled]):not(.disabled).active {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn.disabled:active, .btn.disabled:focus, .btn.disabled:hover, .btn:disabled:active, .btn:disabled:focus, .btn:disabled:hover {
        -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    }

    .btn.btn-link {
        -webkit-box-shadow: none;
        box-shadow: none;
        background-color: transparent;
        padding: 5px 10px !important;
    }

        .btn.btn-link:active, .btn.btn-link:focus, .btn.btn-link:hover {
            -webkit-box-shadow: none !important;
            box-shadow: none !important;
            background-color: transparent;
            padding: 5px 10px !important;
        }

.btn-primary {
    background-color: #4285f4 !important;
    background: none;
    color: #fff;
}

    .btn-primary:hover {
        background-color: #5a95f5 !important;
        background: none;
        color: #fff;
    }

    .btn-primary:focus, .btn-primary.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-primary:focus, .btn-primary:active, .btn-primary.active {
        background-color: #0b51c5;
    }

    .btn-primary.dropdown-toggle {
        background-color: #4285f4 !important;
    }

        .btn-primary.dropdown-toggle:hover, .btn-primary.dropdown-toggle:focus {
            background-color: #5a95f5 !important;
        }

    .btn-primary:not([disabled]):not(.disabled):active, .btn-primary:not([disabled]):not(.disabled).active,
    .show > .btn-primary.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #0b51c5 !important;
    }

        .btn-primary:not([disabled]):not(.disabled):active:focus, .btn-primary:not([disabled]):not(.disabled).active:focus,
        .show > .btn-primary.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.primary-ic {
    color: #4285f4 !important;
}

    .primary-ic:hover, .primary-ic:focus {
        color: #4285f4;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-primary {
    border: 2px solid #4285f4 !important;
    background-color: transparent !important;
    color: #4285f4 !important;
}

    .btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary:active:focus, .btn-outline-primary.active {
        border-color: #4285f4 !important;
        background-color: transparent !important;
        color: #4285f4 !important;
    }

    .btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
    .show > .btn-outline-primary.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #4285f4 !important;
    }

        .btn-outline-primary:not([disabled]):not(.disabled):active:focus, .btn-outline-primary:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-primary.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-danger {
    background-color: #ff3547 !important;
    background: none;
    color: #fff;
}

    .btn-danger:hover {
        background-color: #ff4f5e !important;
        color: #fff;
    }

    .btn-danger:focus, .btn-danger.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-danger:focus, .btn-danger:active, .btn-danger.active {
        background-color: #ce0012;
    }

    .btn-danger.dropdown-toggle {
        background-color: #ff3547 !important;
    }

        .btn-danger.dropdown-toggle:hover, .btn-danger.dropdown-toggle:focus {
            background-color: #ff4f5e !important;
        }

    .btn-danger:not([disabled]):not(.disabled):active, .btn-danger:not([disabled]):not(.disabled).active,
    .show > .btn-danger.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #ce0012 !important;
    }

        .btn-danger:not([disabled]):not(.disabled):active:focus, .btn-danger:not([disabled]):not(.disabled).active:focus,
        .show > .btn-danger.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.danger-ic {
    color: #ff3547 !important;
}

    .danger-ic:hover, .danger-ic:focus {
        color: #ff3547;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-danger {
    border: 2px solid #ff3547 !important;
    background-color: transparent !important;
    color: #ff3547 !important;
}

    .btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active, .btn-outline-danger:active:focus, .btn-outline-danger.active {
        border-color: #ff3547 !important;
        background-color: transparent !important;
        color: #ff3547 !important;
    }

    .btn-outline-danger:not([disabled]):not(.disabled):active, .btn-outline-danger:not([disabled]):not(.disabled).active,
    .show > .btn-outline-danger.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #ff3547 !important;
    }

        .btn-outline-danger:not([disabled]):not(.disabled):active:focus, .btn-outline-danger:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-danger.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-warning {
    background-color: #ffbb33 !important;
    background: none;
    color: #fff;
}

    .btn-warning:hover {
        background-color: #ffc44d !important;
        color: #fff;
    }

    .btn-warning:focus, .btn-warning.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-warning:focus, .btn-warning:active, .btn-warning.active {
        background-color: #cc8800;
    }

    .btn-warning.dropdown-toggle {
        background-color: #ffbb33 !important;
    }

        .btn-warning.dropdown-toggle:hover, .btn-warning.dropdown-toggle:focus {
            background-color: #ffc44d !important;
        }

    .btn-warning:not([disabled]):not(.disabled):active, .btn-warning:not([disabled]):not(.disabled).active,
    .show > .btn-warning.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #cc8800 !important;
    }

        .btn-warning:not([disabled]):not(.disabled):active:focus, .btn-warning:not([disabled]):not(.disabled).active:focus,
        .show > .btn-warning.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.warning-ic {
    color: #ffbb33 !important;
}

    .warning-ic:hover, .warning-ic:focus {
        color: #ffbb33;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-warning {
    border: 2px solid #ffbb33 !important;
    background-color: transparent !important;
    color: #ffbb33 !important;
}

    .btn-outline-warning:hover, .btn-outline-warning:focus, .btn-outline-warning:active, .btn-outline-warning:active:focus, .btn-outline-warning.active {
        border-color: #ffbb33 !important;
        background-color: transparent !important;
        color: #ffbb33 !important;
    }

    .btn-outline-warning:not([disabled]):not(.disabled):active, .btn-outline-warning:not([disabled]):not(.disabled).active,
    .show > .btn-outline-warning.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #ffbb33 !important;
    }

        .btn-outline-warning:not([disabled]):not(.disabled):active:focus, .btn-outline-warning:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-warning.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-success {
    background-color: #00c851 !important;
    color: #fff;
    background: none;
}

    .btn-success:hover {
        background-color: #00e25b !important;
        color: #fff;
    }

    .btn-success:focus, .btn-success.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-success:focus, .btn-success:active, .btn-success.active {
        background-color: #006228;
    }

    .btn-success.dropdown-toggle {
        background-color: #00c851 !important;
    }

        .btn-success.dropdown-toggle:hover, .btn-success.dropdown-toggle:focus {
            background-color: #00e25b !important;
        }

    .btn-success:not([disabled]):not(.disabled):active, .btn-success:not([disabled]):not(.disabled).active,
    .show > .btn-success.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #006228 !important;
    }

        .btn-success:not([disabled]):not(.disabled):active:focus, .btn-success:not([disabled]):not(.disabled).active:focus,
        .show > .btn-success.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.success-ic {
    color: #00c851 !important;
}

    .success-ic:hover, .success-ic:focus {
        color: #00c851;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-success {
    border: 2px solid #00c851 !important;
    background-color: transparent !important;
    color: #00c851 !important;
}

    .btn-outline-success:hover, .btn-outline-success:focus, .btn-outline-success:active, .btn-outline-success:active:focus, .btn-outline-success.active {
        border-color: #00c851 !important;
        background-color: transparent !important;
        color: #00c851 !important;
    }

    .btn-outline-success:not([disabled]):not(.disabled):active, .btn-outline-success:not([disabled]):not(.disabled).active,
    .show > .btn-outline-success.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #00c851 !important;
    }

        .btn-outline-success:not([disabled]):not(.disabled):active:focus, .btn-outline-success:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-success.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-info {
    background-color: #33b5e5 !important;
    color: #fff;
    background: none;
}

    .btn-info:hover {
        background-color: #4abde8 !important;
        color: #fff;
    }

    .btn-info:focus, .btn-info.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-info:focus, .btn-info:active, .btn-info.active {
        background-color: #14799e;
    }

    .btn-info.dropdown-toggle {
        background-color: #33b5e5 !important;
    }

        .btn-info.dropdown-toggle:hover, .btn-info.dropdown-toggle:focus {
            background-color: #4abde8 !important;
        }

    .btn-info:not([disabled]):not(.disabled):active, .btn-info:not([disabled]):not(.disabled).active,
    .show > .btn-info.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #14799e !important;
    }

        .btn-info:not([disabled]):not(.disabled):active:focus, .btn-info:not([disabled]):not(.disabled).active:focus,
        .show > .btn-info.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.info-ic {
    color: #33b5e5 !important;
}

    .info-ic:hover, .info-ic:focus {
        color: #33b5e5;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-info {
    border: 2px solid #33b5e5 !important;
    background-color: transparent !important;
    color: #33b5e5 !important;
}

    .btn-outline-info:hover, .btn-outline-info:focus, .btn-outline-info:active, .btn-outline-info:active:focus, .btn-outline-info.active {
        border-color: #33b5e5 !important;
        background-color: transparent !important;
        color: #33b5e5 !important;
    }

    .btn-outline-info:not([disabled]):not(.disabled):active, .btn-outline-info:not([disabled]):not(.disabled).active,
    .show > .btn-outline-info.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #33b5e5 !important;
    }

        .btn-outline-info:not([disabled]):not(.disabled):active:focus, .btn-outline-info:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-info.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-default {
    background-color: #2bbbad !important;
    color: #fff;
    text-shadow: none;
    background: none;
}

    .btn-default:hover {
        background-color: #30cfc0 !important;
        color: #fff;
        text-shadow: none;
    }

    .btn-default:focus, .btn-default.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-default:focus, .btn-default:active, .btn-default.active {
        background-color: #186860;
    }

    .btn-default.dropdown-toggle {
        background-color: #2bbbad !important;
    }

        .btn-default.dropdown-toggle:hover, .btn-default.dropdown-toggle:focus {
            background-color: #30cfc0 !important;
        }

    .btn-default:not([disabled]):not(.disabled):active, .btn-default:not([disabled]):not(.disabled).active,
    .show > .btn-default.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #186860 !important;
    }

        .btn-default:not([disabled]):not(.disabled):active:focus, .btn-default:not([disabled]):not(.disabled).active:focus,
        .show > .btn-default.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.default-ic {
    color: #2bbbad !important;
}

    .default-ic:hover, .default-ic:focus {
        color: #2bbbad;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-default {
    border: 2px solid #2bbbad !important;
    background-color: transparent !important;
    color: #2bbbad !important;
}

    .btn-outline-default:hover, .btn-outline-default:focus, .btn-outline-default:active, .btn-outline-default:active:focus, .btn-outline-default.active {
        border-color: #2bbbad !important;
        background-color: transparent !important;
        color: #2bbbad !important;
    }

    .btn-outline-default:not([disabled]):not(.disabled):active, .btn-outline-default:not([disabled]):not(.disabled).active,
    .show > .btn-outline-default.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #2bbbad !important;
    }

        .btn-outline-default:not([disabled]):not(.disabled):active:focus, .btn-outline-default:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-default.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-secondary {
    background-color: #aa66cc !important;
    color: #fff;
    background: none;
}

    .btn-secondary:hover {
        background-color: #b579d2 !important;
        color: #fff;
    }

    .btn-secondary:focus, .btn-secondary.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active {
        background-color: #773399;
    }

    .btn-secondary.dropdown-toggle {
        background-color: #aa66cc !important;
    }

        .btn-secondary.dropdown-toggle:hover, .btn-secondary.dropdown-toggle:focus {
            background-color: #b579d2 !important;
        }

    .btn-secondary:not([disabled]):not(.disabled):active, .btn-secondary:not([disabled]):not(.disabled).active,
    .show > .btn-secondary.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #773399 !important;
    }

        .btn-secondary:not([disabled]):not(.disabled):active:focus, .btn-secondary:not([disabled]):not(.disabled).active:focus,
        .show > .btn-secondary.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.secondary-ic {
    color: #aa66cc !important;
}

    .secondary-ic:hover, .secondary-ic:focus {
        color: #aa66cc;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-secondary {
    border: 2px solid #aa66cc !important;
    background-color: transparent !important;
    color: #aa66cc !important;
}

    .btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active, .btn-outline-secondary:active:focus, .btn-outline-secondary.active {
        border-color: #aa66cc !important;
        background-color: transparent !important;
        color: #aa66cc !important;
    }

    .btn-outline-secondary:not([disabled]):not(.disabled):active, .btn-outline-secondary:not([disabled]):not(.disabled).active,
    .show > .btn-outline-secondary.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #aa66cc !important;
    }

        .btn-outline-secondary:not([disabled]):not(.disabled):active:focus, .btn-outline-secondary:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-secondary.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-elegant {
    background-color: #2e2e2e !important;
    color: #fff;
    background: none;
}

    .btn-elegant:hover {
        background-color: #3b3b3b !important;
        color: #fff;
    }

    .btn-elegant:focus, .btn-elegant.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-elegant:focus, .btn-elegant:active, .btn-elegant.active {
        background-color: black;
    }

    .btn-elegant.dropdown-toggle {
        background-color: #2e2e2e !important;
    }

        .btn-elegant.dropdown-toggle:hover, .btn-elegant.dropdown-toggle:focus {
            background-color: #3b3b3b !important;
        }

    .btn-elegant:not([disabled]):not(.disabled):active, .btn-elegant:not([disabled]):not(.disabled).active,
    .show > .btn-elegant.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: black !important;
    }

        .btn-elegant:not([disabled]):not(.disabled):active:focus, .btn-elegant:not([disabled]):not(.disabled).active:focus,
        .show > .btn-elegant.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.elegant-ic {
    color: #2e2e2e !important;
}

    .elegant-ic:hover, .elegant-ic:focus {
        color: #2e2e2e;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-elegant {
    border: 2px solid #2e2e2e !important;
    background-color: transparent !important;
    color: #2e2e2e !important;
}

    .btn-outline-elegant:hover, .btn-outline-elegant:focus, .btn-outline-elegant:active, .btn-outline-elegant:active:focus, .btn-outline-elegant.active {
        border-color: #2e2e2e !important;
        background-color: transparent !important;
        color: #2e2e2e !important;
    }

    .btn-outline-elegant:not([disabled]):not(.disabled):active, .btn-outline-elegant:not([disabled]):not(.disabled).active,
    .show > .btn-outline-elegant.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #2e2e2e !important;
    }

        .btn-outline-elegant:not([disabled]):not(.disabled):active:focus, .btn-outline-elegant:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-elegant.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-unique {
    background-color: #880e4f !important;
    color: #fff;
    background: none;
}

    .btn-unique:hover {
        background-color: #9f105c !important;
        color: #fff;
    }

    .btn-unique:focus, .btn-unique.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-unique:focus, .btn-unique:active, .btn-unique.active {
        background-color: #2c0419;
    }

    .btn-unique.dropdown-toggle {
        background-color: #880e4f !important;
    }

        .btn-unique.dropdown-toggle:hover, .btn-unique.dropdown-toggle:focus {
            background-color: #9f105c !important;
        }

    .btn-unique:not([disabled]):not(.disabled):active, .btn-unique:not([disabled]):not(.disabled).active,
    .show > .btn-unique.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #2c0419 !important;
    }

        .btn-unique:not([disabled]):not(.disabled):active:focus, .btn-unique:not([disabled]):not(.disabled).active:focus,
        .show > .btn-unique.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.unique-ic {
    color: #880e4f !important;
}

    .unique-ic:hover, .unique-ic:focus {
        color: #880e4f;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-unique {
    border: 2px solid #880e4f !important;
    background-color: transparent !important;
    color: #880e4f !important;
}

    .btn-outline-unique:hover, .btn-outline-unique:focus, .btn-outline-unique:active, .btn-outline-unique:active:focus, .btn-outline-unique.active {
        border-color: #880e4f !important;
        background-color: transparent !important;
        color: #880e4f !important;
    }

    .btn-outline-unique:not([disabled]):not(.disabled):active, .btn-outline-unique:not([disabled]):not(.disabled).active,
    .show > .btn-outline-unique.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #880e4f !important;
    }

        .btn-outline-unique:not([disabled]):not(.disabled):active:focus, .btn-outline-unique:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-unique.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-dark-green {
    background-color: #388e3c !important;
    color: #fff;
    background: none;
}

    .btn-dark-green:hover {
        background-color: #3fa044 !important;
        color: #fff;
    }

    .btn-dark-green:focus, .btn-dark-green.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-dark-green:focus, .btn-dark-green:active, .btn-dark-green.active {
        background-color: #1b451d;
    }

    .btn-dark-green.dropdown-toggle {
        background-color: #388e3c !important;
    }

        .btn-dark-green.dropdown-toggle:hover, .btn-dark-green.dropdown-toggle:focus {
            background-color: #3fa044 !important;
        }

    .btn-dark-green:not([disabled]):not(.disabled):active, .btn-dark-green:not([disabled]):not(.disabled).active,
    .show > .btn-dark-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #1b451d !important;
    }

        .btn-dark-green:not([disabled]):not(.disabled):active:focus, .btn-dark-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-dark-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.dark-green-ic {
    color: #388e3c !important;
}

    .dark-green-ic:hover, .dark-green-ic:focus {
        color: #388e3c;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-dark-green {
    border: 2px solid #388e3c !important;
    background-color: transparent !important;
    color: #388e3c !important;
}

    .btn-outline-dark-green:hover, .btn-outline-dark-green:focus, .btn-outline-dark-green:active, .btn-outline-dark-green:active:focus, .btn-outline-dark-green.active {
        border-color: #388e3c !important;
        background-color: transparent !important;
        color: #388e3c !important;
    }

    .btn-outline-dark-green:not([disabled]):not(.disabled):active, .btn-outline-dark-green:not([disabled]):not(.disabled).active,
    .show > .btn-outline-dark-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #388e3c !important;
    }

        .btn-outline-dark-green:not([disabled]):not(.disabled):active:focus, .btn-outline-dark-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-dark-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-mdb-color {
    background-color: #59698d !important;
    color: #fff;
    background: none;
}

    .btn-mdb-color:hover {
        background-color: #63759d !important;
        color: #fff;
    }

    .btn-mdb-color:focus, .btn-mdb-color.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-mdb-color:focus, .btn-mdb-color:active, .btn-mdb-color.active {
        background-color: #323a4e;
    }

    .btn-mdb-color.dropdown-toggle {
        background-color: #59698d !important;
    }

        .btn-mdb-color.dropdown-toggle:hover, .btn-mdb-color.dropdown-toggle:focus {
            background-color: #63759d !important;
        }

    .btn-mdb-color:not([disabled]):not(.disabled):active, .btn-mdb-color:not([disabled]):not(.disabled).active,
    .show > .btn-mdb-color.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #323a4e !important;
    }

        .btn-mdb-color:not([disabled]):not(.disabled):active:focus, .btn-mdb-color:not([disabled]):not(.disabled).active:focus,
        .show > .btn-mdb-color.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.mdb-color-ic {
    color: #59698d !important;
}

    .mdb-color-ic:hover, .mdb-color-ic:focus {
        color: #59698d;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-mdb-color {
    border: 2px solid #59698d !important;
    background-color: transparent !important;
    color: #59698d !important;
}

    .btn-outline-mdb-color:hover, .btn-outline-mdb-color:focus, .btn-outline-mdb-color:active, .btn-outline-mdb-color:active:focus, .btn-outline-mdb-color.active {
        border-color: #59698d !important;
        background-color: transparent !important;
        color: #59698d !important;
    }

    .btn-outline-mdb-color:not([disabled]):not(.disabled):active, .btn-outline-mdb-color:not([disabled]):not(.disabled).active,
    .show > .btn-outline-mdb-color.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #59698d !important;
    }

        .btn-outline-mdb-color:not([disabled]):not(.disabled):active:focus, .btn-outline-mdb-color:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-mdb-color.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-red {
    background-color: #d32f2f !important;
    color: #fff;
    background: none;
}

    .btn-red:hover {
        background-color: #d74444 !important;
        color: #fff;
    }

    .btn-red:focus, .btn-red.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-red:focus, .btn-red:active, .btn-red.active {
        background-color: #811b1b;
    }

    .btn-red.dropdown-toggle {
        background-color: #d32f2f !important;
    }

        .btn-red.dropdown-toggle:hover, .btn-red.dropdown-toggle:focus {
            background-color: #d74444 !important;
        }

    .btn-red:not([disabled]):not(.disabled):active, .btn-red:not([disabled]):not(.disabled).active,
    .show > .btn-red.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #811b1b !important;
    }

        .btn-red:not([disabled]):not(.disabled):active:focus, .btn-red:not([disabled]):not(.disabled).active:focus,
        .show > .btn-red.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.red-ic {
    color: #d32f2f !important;
}

    .red-ic:hover, .red-ic:focus {
        color: #d32f2f;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-red {
    border: 2px solid #d32f2f !important;
    background-color: transparent !important;
    color: #d32f2f !important;
}

    .btn-outline-red:hover, .btn-outline-red:focus, .btn-outline-red:active, .btn-outline-red:active:focus, .btn-outline-red.active {
        border-color: #d32f2f !important;
        background-color: transparent !important;
        color: #d32f2f !important;
    }

    .btn-outline-red:not([disabled]):not(.disabled):active, .btn-outline-red:not([disabled]):not(.disabled).active,
    .show > .btn-outline-red.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #d32f2f !important;
    }

        .btn-outline-red:not([disabled]):not(.disabled):active:focus, .btn-outline-red:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-red.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-pink {
    background-color: #ec407a !important;
    color: #fff;
    background: none;
}

    .btn-pink:hover {
        background-color: #ee578a !important;
        color: #fff;
    }

    .btn-pink:focus, .btn-pink.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-pink:focus, .btn-pink:active, .btn-pink.active {
        background-color: #b41249;
    }

    .btn-pink.dropdown-toggle {
        background-color: #ec407a !important;
    }

        .btn-pink.dropdown-toggle:hover, .btn-pink.dropdown-toggle:focus {
            background-color: #ee578a !important;
        }

    .btn-pink:not([disabled]):not(.disabled):active, .btn-pink:not([disabled]):not(.disabled).active,
    .show > .btn-pink.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #b41249 !important;
    }

        .btn-pink:not([disabled]):not(.disabled):active:focus, .btn-pink:not([disabled]):not(.disabled).active:focus,
        .show > .btn-pink.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.pink-ic {
    color: #ec407a !important;
}

    .pink-ic:hover, .pink-ic:focus {
        color: #ec407a;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-pink {
    border: 2px solid #ec407a !important;
    background-color: transparent !important;
    color: #ec407a !important;
}

    .btn-outline-pink:hover, .btn-outline-pink:focus, .btn-outline-pink:active, .btn-outline-pink:active:focus, .btn-outline-pink.active {
        border-color: #ec407a !important;
        background-color: transparent !important;
        color: #ec407a !important;
    }

    .btn-outline-pink:not([disabled]):not(.disabled):active, .btn-outline-pink:not([disabled]):not(.disabled).active,
    .show > .btn-outline-pink.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #ec407a !important;
    }

        .btn-outline-pink:not([disabled]):not(.disabled):active:focus, .btn-outline-pink:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-pink.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-purple {
    background-color: #8e24aa !important;
    color: #fff;
    background: none;
}

    .btn-purple:hover {
        background-color: #a028bf !important;
        color: #fff;
    }

    .btn-purple:focus, .btn-purple.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-purple:focus, .btn-purple:active, .btn-purple.active {
        background-color: #481256;
    }

    .btn-purple.dropdown-toggle {
        background-color: #8e24aa !important;
    }

        .btn-purple.dropdown-toggle:hover, .btn-purple.dropdown-toggle:focus {
            background-color: #a028bf !important;
        }

    .btn-purple:not([disabled]):not(.disabled):active, .btn-purple:not([disabled]):not(.disabled).active,
    .show > .btn-purple.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #481256 !important;
    }

        .btn-purple:not([disabled]):not(.disabled):active:focus, .btn-purple:not([disabled]):not(.disabled).active:focus,
        .show > .btn-purple.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.purple-ic {
    color: #8e24aa !important;
}

    .purple-ic:hover, .purple-ic:focus {
        color: #8e24aa;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-purple {
    border: 2px solid #8e24aa !important;
    background-color: transparent !important;
    color: #8e24aa !important;
}

    .btn-outline-purple:hover, .btn-outline-purple:focus, .btn-outline-purple:active, .btn-outline-purple:active:focus, .btn-outline-purple.active {
        border-color: #8e24aa !important;
        background-color: transparent !important;
        color: #8e24aa !important;
    }

    .btn-outline-purple:not([disabled]):not(.disabled):active, .btn-outline-purple:not([disabled]):not(.disabled).active,
    .show > .btn-outline-purple.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #8e24aa !important;
    }

        .btn-outline-purple:not([disabled]):not(.disabled):active:focus, .btn-outline-purple:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-purple.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-deep-purple {
    background-color: #512da8 !important;
    color: #fff;
}

    .btn-deep-purple:hover {
        background-color: #5b32bc;
        color: #fff;
    }

    .btn-deep-purple:focus, .btn-deep-purple.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-deep-purple:focus, .btn-deep-purple:active, .btn-deep-purple.active {
        background-color: #2a1758;
    }

    .btn-deep-purple.dropdown-toggle {
        background-color: #512da8 !important;
    }

        .btn-deep-purple.dropdown-toggle:hover, .btn-deep-purple.dropdown-toggle:focus {
            background-color: #5b32bc !important;
        }

    .btn-deep-purple:not([disabled]):not(.disabled):active, .btn-deep-purple:not([disabled]):not(.disabled).active,
    .show > .btn-deep-purple.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #2a1758 !important;
    }

        .btn-deep-purple:not([disabled]):not(.disabled):active:focus, .btn-deep-purple:not([disabled]):not(.disabled).active:focus,
        .show > .btn-deep-purple.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.deep-purple-ic {
    color: #512da8 !important;
}

    .deep-purple-ic:hover, .deep-purple-ic:focus {
        color: #512da8;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-deep-purple {
    border: 2px solid #512da8 !important;
    background-color: transparent !important;
    color: #512da8 !important;
}

    .btn-outline-deep-purple:hover, .btn-outline-deep-purple:focus, .btn-outline-deep-purple:active, .btn-outline-deep-purple:active:focus, .btn-outline-deep-purple.active {
        border-color: #512da8 !important;
        background-color: transparent !important;
        color: #512da8 !important;
    }

    .btn-outline-deep-purple:not([disabled]):not(.disabled):active, .btn-outline-deep-purple:not([disabled]):not(.disabled).active,
    .show > .btn-outline-deep-purple.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #512da8 !important;
    }

        .btn-outline-deep-purple:not([disabled]):not(.disabled):active:focus, .btn-outline-deep-purple:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-deep-purple.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-indigo {
    background-color: #3f51b5 !important;
    color: #fff;
    background: none;
}

    .btn-indigo:hover {
        background-color: #4d5ec1 !important;
        color: #fff;
    }

    .btn-indigo:focus, .btn-indigo.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-indigo:focus, .btn-indigo:active, .btn-indigo.active {
        background-color: #252f69;
    }

    .btn-indigo.dropdown-toggle {
        background-color: #3f51b5 !important;
    }

        .btn-indigo.dropdown-toggle:hover, .btn-indigo.dropdown-toggle:focus {
            background-color: #4d5ec1 !important;
        }

    .btn-indigo:not([disabled]):not(.disabled):active, .btn-indigo:not([disabled]):not(.disabled).active,
    .show > .btn-indigo.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #252f69 !important;
    }

        .btn-indigo:not([disabled]):not(.disabled):active:focus, .btn-indigo:not([disabled]):not(.disabled).active:focus,
        .show > .btn-indigo.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.indigo-ic {
    color: #3f51b5 !important;
}

    .indigo-ic:hover, .indigo-ic:focus {
        color: #3f51b5;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-indigo {
    border: 2px solid #3f51b5 !important;
    background-color: transparent !important;
    color: #3f51b5 !important;
}

    .btn-outline-indigo:hover, .btn-outline-indigo:focus, .btn-outline-indigo:active, .btn-outline-indigo:active:focus, .btn-outline-indigo.active {
        border-color: #3f51b5 !important;
        background-color: transparent !important;
        color: #3f51b5 !important;
    }

    .btn-outline-indigo:not([disabled]):not(.disabled):active, .btn-outline-indigo:not([disabled]):not(.disabled).active,
    .show > .btn-outline-indigo.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #3f51b5 !important;
    }

        .btn-outline-indigo:not([disabled]):not(.disabled):active:focus, .btn-outline-indigo:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-indigo.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-blue {
    background-color: #1976d2 !important;
    color: #fff;
    background: none;
}

    .btn-blue:hover {
        background-color: #2083e4 !important;
        color: #fff;
    }

    .btn-blue:focus, .btn-blue.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-blue:focus, .btn-blue:active, .btn-blue.active {
        background-color: #0e4377;
    }

    .btn-blue.dropdown-toggle {
        background-color: #1976d2 !important;
    }

        .btn-blue.dropdown-toggle:hover, .btn-blue.dropdown-toggle:focus {
            background-color: #2083e4 !important;
        }

    .btn-blue:not([disabled]):not(.disabled):active, .btn-blue:not([disabled]):not(.disabled).active,
    .show > .btn-blue.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #0e4377 !important;
    }

        .btn-blue:not([disabled]):not(.disabled):active:focus, .btn-blue:not([disabled]):not(.disabled).active:focus,
        .show > .btn-blue.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.blue-ic {
    color: #1976d2 !important;
}

    .blue-ic:hover, .blue-ic:focus {
        color: #1976d2;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-blue {
    border: 2px solid #1976d2 !important;
    background-color: transparent !important;
    color: #1976d2 !important;
}

    .btn-outline-blue:hover, .btn-outline-blue:focus, .btn-outline-blue:active, .btn-outline-blue:active:focus, .btn-outline-blue.active {
        border-color: #1976d2 !important;
        background-color: transparent !important;
        color: #1976d2 !important;
    }

    .btn-outline-blue:not([disabled]):not(.disabled):active, .btn-outline-blue:not([disabled]):not(.disabled).active,
    .show > .btn-outline-blue.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #1976d2 !important;
    }

        .btn-outline-blue:not([disabled]):not(.disabled):active:focus, .btn-outline-blue:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-blue.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-light-blue {
    background-color: #82b1ff !important;
    color: #fff;
    background: none;
}

    .btn-light-blue:hover {
        background-color: #9cc1ff !important;
        color: #fff;
    }

    .btn-light-blue:focus, .btn-light-blue.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-light-blue:focus, .btn-light-blue:active, .btn-light-blue.active {
        background-color: #1c71ff;
    }

    .btn-light-blue.dropdown-toggle {
        background-color: #82b1ff !important;
    }

        .btn-light-blue.dropdown-toggle:hover, .btn-light-blue.dropdown-toggle:focus {
            background-color: #9cc1ff !important;
        }

    .btn-light-blue:not([disabled]):not(.disabled):active, .btn-light-blue:not([disabled]):not(.disabled).active,
    .show > .btn-light-blue.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #1c71ff !important;
    }

        .btn-light-blue:not([disabled]):not(.disabled):active:focus, .btn-light-blue:not([disabled]):not(.disabled).active:focus,
        .show > .btn-light-blue.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.light-blue-ic {
    color: #82b1ff !important;
}

    .light-blue-ic:hover, .light-blue-ic:focus {
        color: #82b1ff;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-light-blue {
    border: 2px solid #82b1ff !important;
    background-color: transparent !important;
    color: #82b1ff !important;
}

    .btn-outline-light-blue:hover, .btn-outline-light-blue:focus, .btn-outline-light-blue:active, .btn-outline-light-blue:active:focus, .btn-outline-light-blue.active {
        border-color: #82b1ff !important;
        background-color: transparent !important;
        color: #82b1ff !important;
    }

    .btn-outline-light-blue:not([disabled]):not(.disabled):active, .btn-outline-light-blue:not([disabled]):not(.disabled).active,
    .show > .btn-outline-light-blue.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #82b1ff !important;
    }

        .btn-outline-light-blue:not([disabled]):not(.disabled):active:focus, .btn-outline-light-blue:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-light-blue.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-cyan {
    background-color: #00bcd4 !important;
    color: #fff;
    background: none;
}

    .btn-cyan:hover {
        background-color: #00d3ee !important;
        color: #fff;
    }

    .btn-cyan:focus, .btn-cyan.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-cyan:focus, .btn-cyan:active, .btn-cyan.active {
        background-color: #00626e;
    }

    .btn-cyan.dropdown-toggle {
        background-color: #00bcd4 !important;
    }

        .btn-cyan.dropdown-toggle:hover, .btn-cyan.dropdown-toggle:focus {
            background-color: #00d3ee !important;
        }

    .btn-cyan:not([disabled]):not(.disabled):active, .btn-cyan:not([disabled]):not(.disabled).active,
    .show > .btn-cyan.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #00626e !important;
    }

        .btn-cyan:not([disabled]):not(.disabled):active:focus, .btn-cyan:not([disabled]):not(.disabled).active:focus,
        .show > .btn-cyan.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.cyan-ic {
    color: #00bcd4 !important;
}

    .cyan-ic:hover, .cyan-ic:focus {
        color: #00bcd4;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-cyan {
    border: 2px solid #00bcd4 !important;
    background-color: transparent !important;
    color: #00bcd4 !important;
}

    .btn-outline-cyan:hover, .btn-outline-cyan:focus, .btn-outline-cyan:active, .btn-outline-cyan:active:focus, .btn-outline-cyan.active {
        border-color: #00bcd4 !important;
        background-color: transparent !important;
        color: #00bcd4 !important;
    }

    .btn-outline-cyan:not([disabled]):not(.disabled):active, .btn-outline-cyan:not([disabled]):not(.disabled).active,
    .show > .btn-outline-cyan.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #00bcd4 !important;
    }

        .btn-outline-cyan:not([disabled]):not(.disabled):active:focus, .btn-outline-cyan:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-cyan.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-teal {
    background-color: #00796b !important;
    color: #fff;
    background: none;
}

    .btn-teal:hover {
        background-color: #009382 !important;
        color: #fff;
    }

    .btn-teal:focus, .btn-teal.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-teal:focus, .btn-teal:active, .btn-teal.active {
        background-color: #001311;
    }

    .btn-teal.dropdown-toggle {
        background-color: #00796b !important;
    }

        .btn-teal.dropdown-toggle:hover, .btn-teal.dropdown-toggle:focus {
            background-color: #009382 !important;
        }

    .btn-teal:not([disabled]):not(.disabled):active, .btn-teal:not([disabled]):not(.disabled).active,
    .show > .btn-teal.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #001311 !important;
    }

        .btn-teal:not([disabled]):not(.disabled):active:focus, .btn-teal:not([disabled]):not(.disabled).active:focus,
        .show > .btn-teal.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.teal-ic {
    color: #00796b !important;
}

    .teal-ic:hover, .teal-ic:focus {
        color: #00796b;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-teal {
    border: 2px solid #00796b !important;
    background-color: transparent !important;
    color: #00796b !important;
}

    .btn-outline-teal:hover, .btn-outline-teal:focus, .btn-outline-teal:active, .btn-outline-teal:active:focus, .btn-outline-teal.active {
        border-color: #00796b !important;
        background-color: transparent !important;
        color: #00796b !important;
    }

    .btn-outline-teal:not([disabled]):not(.disabled):active, .btn-outline-teal:not([disabled]):not(.disabled).active,
    .show > .btn-outline-teal.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #00796b !important;
    }

        .btn-outline-teal:not([disabled]):not(.disabled):active:focus, .btn-outline-teal:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-teal.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-green {
    background-color: #388e3c !important;
    color: #fff;
    background: none;
}

    .btn-green:hover {
        background-color: #3fa044 !important;
        color: #fff;
    }

    .btn-green:focus, .btn-green.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-green:focus, .btn-green:active, .btn-green.active {
        background-color: #1b451d;
    }

    .btn-green.dropdown-toggle {
        background-color: #388e3c !important;
    }

        .btn-green.dropdown-toggle:hover, .btn-green.dropdown-toggle:focus {
            background-color: #3fa044 !important;
        }

    .btn-green:not([disabled]):not(.disabled):active, .btn-green:not([disabled]):not(.disabled).active,
    .show > .btn-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #1b451d !important;
    }

        .btn-green:not([disabled]):not(.disabled):active:focus, .btn-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.green-ic {
    color: #388e3c !important;
}

    .green-ic:hover, .green-ic:focus {
        color: #388e3c;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-green {
    border: 2px solid #388e3c !important;
    background-color: transparent !important;
    color: #388e3c !important;
}

    .btn-outline-green:hover, .btn-outline-green:focus, .btn-outline-green:active, .btn-outline-green:active:focus, .btn-outline-green.active {
        border-color: #388e3c !important;
        background-color: transparent !important;
        color: #388e3c !important;
    }

    .btn-outline-green:not([disabled]):not(.disabled):active, .btn-outline-green:not([disabled]):not(.disabled).active,
    .show > .btn-outline-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #388e3c !important;
    }

        .btn-outline-green:not([disabled]):not(.disabled):active:focus, .btn-outline-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-light-green {
    background-color: #8bc34a !important;
    color: #fff;
    background: none;
}

    .btn-light-green:hover {
        background-color: #97c95d !important;
        color: #fff;
    }

    .btn-light-green:focus, .btn-light-green.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-light-green:focus, .btn-light-green:active, .btn-light-green.active {
        background-color: #577d2a;
    }

    .btn-light-green.dropdown-toggle {
        background-color: #8bc34a !important;
    }

        .btn-light-green.dropdown-toggle:hover, .btn-light-green.dropdown-toggle:focus {
            background-color: #97c95d !important;
        }

    .btn-light-green:not([disabled]):not(.disabled):active, .btn-light-green:not([disabled]):not(.disabled).active,
    .show > .btn-light-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #577d2a !important;
    }

        .btn-light-green:not([disabled]):not(.disabled):active:focus, .btn-light-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-light-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.light-green-ic {
    color: #8bc34a !important;
}

    .light-green-ic:hover, .light-green-ic:focus {
        color: #8bc34a;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-light-green {
    border: 2px solid #8bc34a !important;
    background-color: transparent !important;
    color: #8bc34a !important;
}

    .btn-outline-light-green:hover, .btn-outline-light-green:focus, .btn-outline-light-green:active, .btn-outline-light-green:active:focus, .btn-outline-light-green.active {
        border-color: #8bc34a !important;
        background-color: transparent !important;
        color: #8bc34a !important;
    }

    .btn-outline-light-green:not([disabled]):not(.disabled):active, .btn-outline-light-green:not([disabled]):not(.disabled).active,
    .show > .btn-outline-light-green.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #8bc34a !important;
    }

        .btn-outline-light-green:not([disabled]):not(.disabled):active:focus, .btn-outline-light-green:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-light-green.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-lime {
    background-color: #afb42b !important;
    color: #fff;
    background: none;
}

    .btn-lime:hover {
        background-color: #c3c930 !important;
        color: #fff;
    }

    .btn-lime:focus, .btn-lime.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-lime:focus, .btn-lime:active, .btn-lime.active {
        background-color: #5f6217;
    }

    .btn-lime.dropdown-toggle {
        background-color: #afb42b !important;
    }

        .btn-lime.dropdown-toggle:hover, .btn-lime.dropdown-toggle:focus {
            background-color: #c3c930 !important;
        }

    .btn-lime:not([disabled]):not(.disabled):active, .btn-lime:not([disabled]):not(.disabled).active,
    .show > .btn-lime.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #5f6217 !important;
    }

        .btn-lime:not([disabled]):not(.disabled):active:focus, .btn-lime:not([disabled]):not(.disabled).active:focus,
        .show > .btn-lime.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.lime-ic {
    color: #afb42b !important;
}

    .lime-ic:hover, .lime-ic:focus {
        color: #afb42b;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-lime {
    border: 2px solid #afb42b !important;
    background-color: transparent !important;
    color: #afb42b !important;
}

    .btn-outline-lime:hover, .btn-outline-lime:focus, .btn-outline-lime:active, .btn-outline-lime:active:focus, .btn-outline-lime.active {
        border-color: #afb42b !important;
        background-color: transparent !important;
        color: #afb42b !important;
    }

    .btn-outline-lime:not([disabled]):not(.disabled):active, .btn-outline-lime:not([disabled]):not(.disabled).active,
    .show > .btn-outline-lime.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #afb42b !important;
    }

        .btn-outline-lime:not([disabled]):not(.disabled):active:focus, .btn-outline-lime:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-lime.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-yellow {
    background-color: #fbc02d !important;
    color: #fff;
    background: none;
}

    .btn-yellow:hover {
        background-color: #fbc846 !important;
        color: #fff;
    }

    .btn-yellow:focus, .btn-yellow.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-yellow:focus, .btn-yellow:active, .btn-yellow.active {
        background-color: #be8904;
    }

    .btn-yellow.dropdown-toggle {
        background-color: #fbc02d !important;
    }

        .btn-yellow.dropdown-toggle:hover, .btn-yellow.dropdown-toggle:focus {
            background-color: #fbc846 !important;
        }

    .btn-yellow:not([disabled]):not(.disabled):active, .btn-yellow:not([disabled]):not(.disabled).active,
    .show > .btn-yellow.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #be8904 !important;
    }

        .btn-yellow:not([disabled]):not(.disabled):active:focus, .btn-yellow:not([disabled]):not(.disabled).active:focus,
        .show > .btn-yellow.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.yellow-ic {
    color: #fbc02d !important;
}

    .yellow-ic:hover, .yellow-ic:focus {
        color: #fbc02d;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-yellow {
    border: 2px solid #fbc02d !important;
    background-color: transparent !important;
    color: #fbc02d !important;
}

    .btn-outline-yellow:hover, .btn-outline-yellow:focus, .btn-outline-yellow:active, .btn-outline-yellow:active:focus, .btn-outline-yellow.active {
        border-color: #fbc02d !important;
        background-color: transparent !important;
        color: #fbc02d !important;
    }

    .btn-outline-yellow:not([disabled]):not(.disabled):active, .btn-outline-yellow:not([disabled]):not(.disabled).active,
    .show > .btn-outline-yellow.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #fbc02d !important;
    }

        .btn-outline-yellow:not([disabled]):not(.disabled):active:focus, .btn-outline-yellow:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-yellow.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-amber {
    background-color: #ffa000 !important;
    color: #fff;
    background: none;
}

    .btn-amber:hover {
        background-color: #ffaa1a !important;
        color: #fff;
    }

    .btn-amber:focus, .btn-amber.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-amber:focus, .btn-amber:active, .btn-amber.active {
        background-color: #996000;
    }

    .btn-amber.dropdown-toggle {
        background-color: #ffa000 !important;
    }

        .btn-amber.dropdown-toggle:hover, .btn-amber.dropdown-toggle:focus {
            background-color: #ffaa1a !important;
        }

    .btn-amber:not([disabled]):not(.disabled):active, .btn-amber:not([disabled]):not(.disabled).active,
    .show > .btn-amber.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #996000 !important;
    }

        .btn-amber:not([disabled]):not(.disabled):active:focus, .btn-amber:not([disabled]):not(.disabled).active:focus,
        .show > .btn-amber.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.amber-ic {
    color: #ffa000 !important;
}

    .amber-ic:hover, .amber-ic:focus {
        color: #ffa000;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-amber {
    border: 2px solid #ffa000 !important;
    background-color: transparent !important;
    color: #ffa000 !important;
}

    .btn-outline-amber:hover, .btn-outline-amber:focus, .btn-outline-amber:active, .btn-outline-amber:active:focus, .btn-outline-amber.active {
        border-color: #ffa000 !important;
        background-color: transparent !important;
        color: #ffa000 !important;
    }

    .btn-outline-amber:not([disabled]):not(.disabled):active, .btn-outline-amber:not([disabled]):not(.disabled).active,
    .show > .btn-outline-amber.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #ffa000 !important;
    }

        .btn-outline-amber:not([disabled]):not(.disabled):active:focus, .btn-outline-amber:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-amber.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-orange {
    background-color: #f57c00 !important;
    color: #fff;
    background: none;
}

    .btn-orange:hover {
        background-color: #ff8910 !important;
        color: #fff;
    }

    .btn-orange:focus, .btn-orange.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-orange:focus, .btn-orange:active, .btn-orange.active {
        background-color: #8f4800;
    }

    .btn-orange.dropdown-toggle {
        background-color: #f57c00 !important;
    }

        .btn-orange.dropdown-toggle:hover, .btn-orange.dropdown-toggle:focus {
            background-color: #ff8910 !important;
        }

    .btn-orange:not([disabled]):not(.disabled):active, .btn-orange:not([disabled]):not(.disabled).active,
    .show > .btn-orange.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #8f4800 !important;
    }

        .btn-orange:not([disabled]):not(.disabled):active:focus, .btn-orange:not([disabled]):not(.disabled).active:focus,
        .show > .btn-orange.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.orange-ic {
    color: #f57c00 !important;
}

    .orange-ic:hover, .orange-ic:focus {
        color: #f57c00;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-orange {
    border: 2px solid #f57c00 !important;
    background-color: transparent !important;
    color: #f57c00 !important;
}

    .btn-outline-orange:hover, .btn-outline-orange:focus, .btn-outline-orange:active, .btn-outline-orange:active:focus, .btn-outline-orange.active {
        border-color: #f57c00 !important;
        background-color: transparent !important;
        color: #f57c00 !important;
    }

    .btn-outline-orange:not([disabled]):not(.disabled):active, .btn-outline-orange:not([disabled]):not(.disabled).active,
    .show > .btn-outline-orange.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #f57c00 !important;
    }

        .btn-outline-orange:not([disabled]):not(.disabled):active:focus, .btn-outline-orange:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-orange.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-deep-orange {
    background-color: #ff7043 !important;
    color: #fff;
    background: none;
}

    .btn-deep-orange:hover {
        background-color: #ff835d !important;
        color: #fff;
    }

    .btn-deep-orange:focus, .btn-deep-orange.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-deep-orange:focus, .btn-deep-orange:active, .btn-deep-orange.active {
        background-color: #dc3500;
    }

    .btn-deep-orange.dropdown-toggle {
        background-color: #ff7043 !important;
    }

        .btn-deep-orange.dropdown-toggle:hover, .btn-deep-orange.dropdown-toggle:focus {
            background-color: #ff835d !important;
        }

    .btn-deep-orange:not([disabled]):not(.disabled):active, .btn-deep-orange:not([disabled]):not(.disabled).active,
    .show > .btn-deep-orange.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #dc3500 !important;
    }

        .btn-deep-orange:not([disabled]):not(.disabled):active:focus, .btn-deep-orange:not([disabled]):not(.disabled).active:focus,
        .show > .btn-deep-orange.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.deep-orange-ic {
    color: #ff7043 !important;
}

    .deep-orange-ic:hover, .deep-orange-ic:focus {
        color: #ff7043;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-deep-orange {
    border: 2px solid #ff7043 !important;
    background-color: transparent !important;
    color: #ff7043 !important;
}

    .btn-outline-deep-orange:hover, .btn-outline-deep-orange:focus, .btn-outline-deep-orange:active, .btn-outline-deep-orange:active:focus, .btn-outline-deep-orange.active {
        border-color: #ff7043 !important;
        background-color: transparent !important;
        color: #ff7043 !important;
    }

    .btn-outline-deep-orange:not([disabled]):not(.disabled):active, .btn-outline-deep-orange:not([disabled]):not(.disabled).active,
    .show > .btn-outline-deep-orange.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #ff7043 !important;
    }

        .btn-outline-deep-orange:not([disabled]):not(.disabled):active:focus, .btn-outline-deep-orange:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-deep-orange.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-brown {
    background-color: #795548 !important;
    color: #fff;
    background: none;
}

    .btn-brown:hover {
        background-color: #896052 !important;
        color: #fff;
    }

    .btn-brown:focus, .btn-brown.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-brown:focus, .btn-brown:active, .btn-brown.active {
        background-color: #392822;
    }

    .btn-brown.dropdown-toggle {
        background-color: #795548 !important;
    }

        .btn-brown.dropdown-toggle:hover, .btn-brown.dropdown-toggle:focus {
            background-color: #896052 !important;
        }

    .btn-brown:not([disabled]):not(.disabled):active, .btn-brown:not([disabled]):not(.disabled).active,
    .show > .btn-brown.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #392822 !important;
    }

        .btn-brown:not([disabled]):not(.disabled):active:focus, .btn-brown:not([disabled]):not(.disabled).active:focus,
        .show > .btn-brown.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.brown-ic {
    color: #795548 !important;
}

    .brown-ic:hover, .brown-ic:focus {
        color: #795548;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-brown {
    border: 2px solid #795548 !important;
    background-color: transparent !important;
    color: #795548 !important;
}

    .btn-outline-brown:hover, .btn-outline-brown:focus, .btn-outline-brown:active, .btn-outline-brown:active:focus, .btn-outline-brown.active {
        border-color: #795548 !important;
        background-color: transparent !important;
        color: #795548 !important;
    }

    .btn-outline-brown:not([disabled]):not(.disabled):active, .btn-outline-brown:not([disabled]):not(.disabled).active,
    .show > .btn-outline-brown.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #795548 !important;
    }

        .btn-outline-brown:not([disabled]):not(.disabled):active:focus, .btn-outline-brown:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-brown.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-grey {
    background-color: #616161 !important;
    color: #fff;
    background: none;
}

    .btn-grey:hover {
        background-color: #6e6e6e !important;
        color: #fff;
    }

    .btn-grey:focus, .btn-grey.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-grey:focus, .btn-grey:active, .btn-grey.active {
        background-color: #2e2e2e;
    }

    .btn-grey.dropdown-toggle {
        background-color: #616161 !important;
    }

        .btn-grey.dropdown-toggle:hover, .btn-grey.dropdown-toggle:focus {
            background-color: #6e6e6e !important;
        }

    .btn-grey:not([disabled]):not(.disabled):active, .btn-grey:not([disabled]):not(.disabled).active,
    .show > .btn-grey.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #2e2e2e !important;
    }

        .btn-grey:not([disabled]):not(.disabled):active:focus, .btn-grey:not([disabled]):not(.disabled).active:focus,
        .show > .btn-grey.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.grey-ic {
    color: #616161 !important;
}

    .grey-ic:hover, .grey-ic:focus {
        color: #616161;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-grey {
    border: 2px solid #616161 !important;
    background-color: transparent !important;
    color: #616161 !important;
}

    .btn-outline-grey:hover, .btn-outline-grey:focus, .btn-outline-grey:active, .btn-outline-grey:active:focus, .btn-outline-grey.active {
        border-color: #616161 !important;
        background-color: transparent !important;
        color: #616161 !important;
    }

    .btn-outline-grey:not([disabled]):not(.disabled):active, .btn-outline-grey:not([disabled]):not(.disabled).active,
    .show > .btn-outline-grey.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #616161 !important;
    }

        .btn-outline-grey:not([disabled]):not(.disabled):active:focus, .btn-outline-grey:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-grey.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-blue-grey {
    background-color: #78909c !important;
    color: #fff;
    background: none;
}

    .btn-blue-grey:hover {
        background-color: #879ca7 !important;
        color: #fff;
    }

    .btn-blue-grey:focus, .btn-blue-grey.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-blue-grey:focus, .btn-blue-grey:active, .btn-blue-grey.active {
        background-color: #4a5b64;
    }

    .btn-blue-grey.dropdown-toggle {
        background-color: #78909c !important;
    }

        .btn-blue-grey.dropdown-toggle:hover, .btn-blue-grey.dropdown-toggle:focus {
            background-color: #879ca7 !important;
        }

    .btn-blue-grey:not([disabled]):not(.disabled):active, .btn-blue-grey:not([disabled]):not(.disabled).active,
    .show > .btn-blue-grey.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #4a5b64 !important;
    }

        .btn-blue-grey:not([disabled]):not(.disabled):active:focus, .btn-blue-grey:not([disabled]):not(.disabled).active:focus,
        .show > .btn-blue-grey.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.blue-grey-ic {
    color: #78909c !important;
}

    .blue-grey-ic:hover, .blue-grey-ic:focus {
        color: #78909c;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-blue-grey {
    border: 2px solid #78909c !important;
    background-color: transparent !important;
    color: #78909c !important;
}

    .btn-outline-blue-grey:hover, .btn-outline-blue-grey:focus, .btn-outline-blue-grey:active, .btn-outline-blue-grey:active:focus, .btn-outline-blue-grey.active {
        border-color: #78909c !important;
        background-color: transparent !important;
        color: #78909c !important;
    }

    .btn-outline-blue-grey:not([disabled]):not(.disabled):active, .btn-outline-blue-grey:not([disabled]):not(.disabled).active,
    .show > .btn-outline-blue-grey.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #78909c !important;
    }

        .btn-outline-blue-grey:not([disabled]):not(.disabled):active:focus, .btn-outline-blue-grey:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-blue-grey.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-dark {
    background-color: #212121 !important;
    color: #fff;
    background: none;
}

    .btn-dark:hover {
        background-color: #2e2e2e !important;
        color: #fff;
    }

    .btn-dark:focus, .btn-dark.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-dark:focus, .btn-dark:active, .btn-dark.active {
        background-color: black;
    }

    .btn-dark.dropdown-toggle {
        background-color: #212121 !important;
    }

        .btn-dark.dropdown-toggle:hover, .btn-dark.dropdown-toggle:focus {
            background-color: #2e2e2e !important;
        }

    .btn-dark:not([disabled]):not(.disabled):active, .btn-dark:not([disabled]):not(.disabled).active,
    .show > .btn-dark.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: black !important;
    }

        .btn-dark:not([disabled]):not(.disabled):active:focus, .btn-dark:not([disabled]):not(.disabled).active:focus,
        .show > .btn-dark.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.dark-ic {
    color: #212121 !important;
}

    .dark-ic:hover, .dark-ic:focus {
        color: #212121;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-dark {
    border: 2px solid #212121 !important;
    background-color: transparent !important;
    color: #212121 !important;
}

    .btn-outline-dark:hover, .btn-outline-dark:focus, .btn-outline-dark:active, .btn-outline-dark:active:focus, .btn-outline-dark.active {
        border-color: #212121 !important;
        background-color: transparent !important;
        color: #212121 !important;
    }

    .btn-outline-dark:not([disabled]):not(.disabled):active, .btn-outline-dark:not([disabled]):not(.disabled).active,
    .show > .btn-outline-dark.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #212121 !important;
    }

        .btn-outline-dark:not([disabled]):not(.disabled):active:focus, .btn-outline-dark:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-dark.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-light {
    background-color: #e0e0e0 !important;
    color: #000;
}

    .btn-light:hover {
        background-color: #ededed;
        color: #000;
    }

    .btn-light:focus, .btn-light.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-light:focus, .btn-light:active, .btn-light.active {
        background-color: #adadad;
    }

    .btn-light.dropdown-toggle {
        background-color: #e0e0e0 !important;
    }

        .btn-light.dropdown-toggle:hover, .btn-light.dropdown-toggle:focus {
            background-color: #ededed !important;
        }

    .btn-light:not([disabled]):not(.disabled):active, .btn-light:not([disabled]):not(.disabled).active,
    .show > .btn-light.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #adadad !important;
    }

        .btn-light:not([disabled]):not(.disabled):active:focus, .btn-light:not([disabled]):not(.disabled).active:focus,
        .show > .btn-light.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.light-ic {
    color: #e0e0e0 !important;
}

    .light-ic:hover, .light-ic:focus {
        color: #e0e0e0;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #000;
}

.btn-outline-light {
    border: 2px solid #e0e0e0 !important;
    background-color: transparent !important;
    color: #e0e0e0 !important;
}

    .btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active, .btn-outline-light:active:focus, .btn-outline-light.active {
        border-color: #e0e0e0 !important;
        background-color: transparent !important;
        color: #e0e0e0 !important;
    }

    .btn-outline-light:not([disabled]):not(.disabled):active, .btn-outline-light:not([disabled]):not(.disabled).active,
    .show > .btn-outline-light.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #e0e0e0 !important;
    }

        .btn-outline-light:not([disabled]):not(.disabled):active:focus, .btn-outline-light:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-light.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-white {
    background-color: #fff !important;
    color: #000;
    background: none;
}

    .btn-white:hover {
        background-color: white !important;
        color: #000;
    }

    .btn-white:focus, .btn-white.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-white:focus, .btn-white:active, .btn-white.active {
        background-color: #cccccc;
    }

    .btn-white.dropdown-toggle {
        background-color: #fff !important;
    }

        .btn-white.dropdown-toggle:hover, .btn-white.dropdown-toggle:focus {
            background-color: white !important;
        }

    .btn-white:not([disabled]):not(.disabled):active, .btn-white:not([disabled]):not(.disabled).active,
    .show > .btn-white.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: #cccccc !important;
    }

        .btn-white:not([disabled]):not(.disabled):active:focus, .btn-white:not([disabled]):not(.disabled).active:focus,
        .show > .btn-white.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.white-ic {
    color: #fff !important;
}

    .white-ic:hover, .white-ic:focus {
        color: #fff;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #000;
}

.btn-outline-white {
    border: 2px solid #fff !important;
    background-color: transparent !important;
    color: #fff !important;
}

    .btn-outline-white:hover, .btn-outline-white:focus, .btn-outline-white:active, .btn-outline-white:active:focus, .btn-outline-white.active {
        border-color: #fff !important;
        background-color: transparent !important;
        color: #fff !important;
    }

    .btn-outline-white:not([disabled]):not(.disabled):active, .btn-outline-white:not([disabled]):not(.disabled).active,
    .show > .btn-outline-white.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #fff !important;
    }

        .btn-outline-white:not([disabled]):not(.disabled):active:focus, .btn-outline-white:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-white.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-black {
    background-color: #000 !important;
    color: #fff;
    background: none;
}

    .btn-black:hover {
        background-color: #0d0d0d !important;
        color: #fff;
    }

    .btn-black:focus, .btn-black.focus {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
    }

    .btn-black:focus, .btn-black:active, .btn-black.active {
        background-color: black;
    }

    .btn-black.dropdown-toggle {
        background-color: #000 !important;
    }

        .btn-black.dropdown-toggle:hover, .btn-black.dropdown-toggle:focus {
            background-color: #0d0d0d !important;
        }

    .btn-black:not([disabled]):not(.disabled):active, .btn-black:not([disabled]):not(.disabled).active,
    .show > .btn-black.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: black !important;
    }

        .btn-black:not([disabled]):not(.disabled):active:focus, .btn-black:not([disabled]):not(.disabled).active:focus,
        .show > .btn-black.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.black-ic {
    color: #000 !important;
}

    .black-ic:hover, .black-ic:focus {
        color: #000;
    }

a.btn:not([href]):not([tabindex]),
a.btn:not([href]):not([tabindex]):focus,
a.btn:not([href]):not([tabindex]):hover {
    color: #fff;
}

.btn-outline-black {
    border: 2px solid #000 !important;
    background-color: transparent !important;
    color: #000 !important;
}

    .btn-outline-black:hover, .btn-outline-black:focus, .btn-outline-black:active, .btn-outline-black:active:focus, .btn-outline-black.active {
        border-color: #000 !important;
        background-color: transparent !important;
        color: #000 !important;
    }

    .btn-outline-black:not([disabled]):not(.disabled):active, .btn-outline-black:not([disabled]):not(.disabled).active,
    .show > .btn-outline-black.dropdown-toggle {
        -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        background-color: transparent !important;
        border-color: #000 !important;
    }

        .btn-outline-black:not([disabled]):not(.disabled):active:focus, .btn-outline-black:not([disabled]):not(.disabled).active:focus,
        .show > .btn-outline-black.dropdown-toggle:focus {
            -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
        }

.btn-warning:not(:disabled):not(.disabled).active,
.btn-warning:not(:disabled):not(.disabled):active,
.show > .btn-warning.dropdown-toggle {
    color: #fff;
}
/* end of btn*/
.radio input[type="radio"],
.radio-inline input[type="radio"]
{
    margin-right: 0;
    right: 0;
}
.radio-inline li {
    position: relative;
}

ul.radio-inline li > label {
    padding-right: 15px;
}
.checkbox-inline, .radio-inline {
    position: relative;
}

.checkbox-inline input[type="checkbox"] {
    margin-right: 0;
    right: 0;
}
.input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group {
    margin-top: 0;
    padding-top: 6px;
    padding-bottom: 7px;
} 
/* End of /App_Themes/blank-fa-IR/bootstrap.css*/ 
/* Start of /App_Themes/blank-fa-IR/blank-fa-IR.css */ 
@charset "UTF-8";
/*$icon-font-path:          "../fonts/";
$icon-font-name:*/
@font-face {
  font-family: "Glyphicons Halflings";
  src: url("/Fonts/FontIcon.eot");
  src: url("/Fonts/FontIcon.eot?#iefix") format("embedded-opentype"), url("/Fonts/FontIcon.woff") format("woff"), url("/Fonts/FontIcon.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF";
  src: url("/Fonts/IRANSansX-Regular.eot");
  src: url("/Fonts/IRANSansX-Regular.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansX-Regular.woff") format("woff"), url("/Fonts/IRANSansX-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF";
  src: url("/Fonts/IRANSansX-Bold.eot");
  src: url("/Fonts/IRANSansX-Bold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansX-Bold.woff") format("woff"), url("/Fonts/IRANSansX-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary";
  src: url("/Fonts/IranRegular.eot");
  src: url("/Fonts/IranRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/IranRegular.woff") format("woff"), url("/Fonts/IranRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary";
  src: url("/Fonts/IranBold.eot");
  src: url("/Fonts/IranBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IranBold.woff") format("woff"), url("/Fonts/IranBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary1";
  src: url("/Fonts/AnjomanRegular.eot");
  src: url("/Fonts/AnjomanRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/AnjomanRegular.woff") format("woff"), url("/Fonts/AnjomanRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary1";
  src: url("/Fonts/AnjomanBold.eot");
  src: url("/Fonts/AnjomanBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/AnjomanBold.woff") format("woff"), url("/Fonts/AnjomanBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary2";
  src: url("/Fonts/IRANSansRegular.eot");
  src: url("/Fonts/IRANSansRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansRegular.woff") format("woff"), url("/Fonts/IRANSansRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary2";
  src: url("/Fonts/IRANSansBold.eot");
  src: url("/Fonts/IRANSansBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansBold.woff") format("woff"), url("/Fonts/IRANSansBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary3";
  src: url("/Fonts/IRANYekanRegular.eot");
  src: url("/Fonts/IRANYekanRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANYekanRegular.woff") format("woff"), url("/Fonts/IRANYekanRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary3";
  src: url("/Fonts/IRANYekanBold.eot");
  src: url("/Fonts/IRANYekanBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANYekanBold.woff") format("woff"), url("/Fonts/IRANYekanBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary4";
  src: url("/Fonts/VazirRegular.eot");
  src: url("/Fonts/VazirRegular.eot?#iefix") format("embedded-opentype"), url("/Fonts/VazirRegular.woff") format("woff"), url("/Fonts/VazirRegular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDF Subsidiary4";
  src: url("/Fonts/VazirBold.eot");
  src: url("/Fonts/VazirBold.eot?#iefix") format("embedded-opentype"), url("/Fonts/VazirBold.woff") format("woff"), url("/Fonts/VazirBold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDFFaNum";
  src: url("/Fonts/IRANSansXFaNum-Light.eot");
  src: url("/Fonts/IRANSansXFaNum-Light.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansXFaNum-Light.woff") format("woff"), url("/Fonts/IRANSansXFaNum-Light.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SDFFaNum";
  src: url("/Fonts/IRANSansXFaNum-Bold.eot");
  src: url("/Fonts/IRANSansXFaNum-Bold.eot?#iefix") format("embedded-opentype"), url("/Fonts/IRANSansXFaNum-Bold.woff") format("woff"), url("/Fonts/IRANSansXFaNum-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ViewFontIcon";
  src: url("/Fonts/ViewFontIcon.eot");
  src: url("/Fonts/ViewFontIcon.eot?#iefix") format("embedded-opentype"), url("/Fonts/ViewFontIcon.woff") format("woff"), url("/Fonts/ViewFontIcon.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/*@import "Partials/Helper";*/
/***************************************************
Effect                   
***************************************************/
.effectParent {
  overflow: hidden;
}

/************ initially hide animatable objects *************/
.animatable {
  visibility: hidden;
  -webkit-animation-play-state: paused;
  -moz-animation-play-state: paused;
  animation-play-state: paused;
}
/************ show objects being animated *************/
.animated {
  visibility: visible;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -moz-animation-duration: 1s;
  animation-duration: 1s;
}

/************ CSS Animations *************/
/************ Start Of Bounce *************/
@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@-moz-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -moz-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    -moz-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    -moz-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    -moz-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.Bounce {
  -webkit-animation-name: bounce;
  -moz-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -moz-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
  transform-origin: center bottom;
}

/************ End Of Bounce *************/
/************ Start Of Flash *************/
@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@-moz-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.Flash {
  -webkit-animation-name: flash;
  -moz-animation-name: flash;
  animation-name: flash;
}

/************ End Of Flash *************/
/************ Start Of Pulse *************/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-moz-keyframes pulse {
  0% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -moz-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    -moz-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.Pulse {
  -webkit-animation-name: pulse;
  -moz-animation-name: pulse;
  animation-name: pulse;
}

/************ End Of Pulse *************/
/************ Start Of RubberBand *************/
@-webkit-keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-moz-keyframes rubberBand {
  0% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -moz-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -moz-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -moz-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -moz-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -moz-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    -moz-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    -moz-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    -moz-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    -moz-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    -moz-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.RubberBand {
  -webkit-animation-name: rubberBand;
  -moz-animation-name: rubberBand;
  animation-name: rubberBand;
}

/************ End Of RubberBand *************/
/************ Start Of Shake *************/
@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@-moz-keyframes shake {
  0%, 100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -moz-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -moz-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    -moz-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    -moz-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.Shake {
  -webkit-animation-name: shake;
  -moz-animation-name: shake;
  animation-name: shake;
}

/************ End Of Shake *************/
/************ Start Of Swing *************/
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@-moz-keyframes swing {
  20% {
    -moz-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -moz-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -moz-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -moz-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -moz-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    -moz-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    -moz-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    -moz-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    -moz-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    -moz-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.Swing {
  -webkit-transform-origin: top center;
  -moz-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  -moz-animation-name: swing;
  animation-name: swing;
}

/************ End Of Swing *************/
/************ Start Of Tada *************/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-moz-keyframes tada {
  0% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    -moz-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.Tada {
  -webkit-animation-name: tada;
  -moz-animation-name: tada;
  animation-name: tada;
}

/************ End Of Tada *************/
/************ Start Of Wobble *************/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes wobble {
  0% {
    -moz-transform: none;
    transform: none;
  }
  15% {
    -moz-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -moz-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -moz-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -moz-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -moz-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  0% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    -moz-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    -moz-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    -moz-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    -moz-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    -moz-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.Wobble {
  -webkit-animation-name: wobble;
  -moz-animation-name: wobble;
  animation-name: wobble;
}

/************ End Of Wobble *************/
/************ Start Of Jello *************/
@-webkit-keyframes jello {
  11.1% {
    -webkit-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes jello {
  11.1% {
    -moz-transform: none;
    transform: none;
  }
  22.2% {
    -moz-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -moz-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -moz-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -moz-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -moz-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -moz-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -moz-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@keyframes jello {
  11.1% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    -moz-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    -moz-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    -moz-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    -moz-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    -moz-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    -moz-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    -moz-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.Jello {
  -webkit-animation-name: jello;
  -moz-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -moz-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
}

/************ End Of Jello *************/
/************ Start Of BounceIn *************/
@-webkit-keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@-moz-keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -moz-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -moz-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -moz-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -moz-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -moz-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    -moz-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    -moz-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    -moz-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    -moz-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    -moz-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.BounceIn {
  -webkit-animation-name: bounceIn;
  -moz-animation-name: bounceIn;
  animation-name: bounceIn;
}

/************ End Of BounceIn *************/
/************ Start Of BounceInDown *************/
@-webkit-keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -moz-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -moz-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -moz-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    -moz-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    -moz-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    -moz-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    -moz-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.BounceInDown {
  -webkit-animation-name: bounceInDown;
  -moz-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

/************ End Of BounceInDown *************/
/************ Start Of BounceInLeft *************/
@-webkit-keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -moz-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -moz-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -moz-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -moz-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    -moz-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    -moz-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    -moz-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    -moz-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.BounceInLeft {
  -webkit-animation-name: bounceInLeft;
  -moz-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

/************ End Of BounceInLeft *************/
/************ Start Of BounceInRight *************/
@-webkit-keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -moz-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -moz-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -moz-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -moz-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -moz-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    -moz-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    -moz-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    -moz-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    -moz-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.BounceInRight {
  -webkit-animation-name: bounceInRight;
  -moz-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

/************ End Of BounceInRight *************/
/************ Start Of BounceInUp *************/
@-webkit-keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -moz-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -moz-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -moz-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    -moz-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    -moz-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    -moz-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    -moz-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.BounceInUp {
  -webkit-animation-name: bounceInUp;
  -moz-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

/************ End Of BounceInUp *************/
/************ Start Of FadeIn *************/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.FadeIn {
  -webkit-animation-name: fadeIn;
  -moz-animation-name: fadeIn;
  animation-name: fadeIn;
}

/************ End Of FadeIn *************/
/************ Start Of FadeInDown *************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInDown {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    -moz-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInDown {
  -webkit-animation-name: fadeInDown;
  -moz-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

/************ End Of FadeInDown *************/
/************ Start Of FadeInDownBig *************/
@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    -moz-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  -moz-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

/************ End Of FadeInDownBig *************/
/************ Start Of FadeInLeft *************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInLeft {
  -webkit-animation-name: fadeInLeft;
  -moz-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

/************ End Of FadeInLeft *************/
/************ Start Of FadeInLeftBig *************/
@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    -moz-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  -moz-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

/************ End Of FadeInLeftBig *************/
/************ Start Of FadeInRight *************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInRight {
  0% {
    opacity: 0;
    -moz-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInRight {
  -webkit-animation-name: fadeInRight;
  -moz-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

/************ End Of FadeInRight *************/
/************ Start Of FadeInRightBig *************/
@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -moz-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    -moz-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  -moz-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

/************ End Of FadeInRightBig *************/
/************ Start Of FadeInUp *************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInUp {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInUp {
  -webkit-animation-name: fadeInUp;
  -moz-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

/************ End Of FadeInUp *************/
/************ Start Of FadeInUpBig *************/
@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -moz-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    -moz-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.FadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  -moz-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

/************ End Of FadeInUpBig *************/
/************ Start Of Flip *************/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@-moz-keyframes flip {
  0% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -moz-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -moz-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -moz-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -moz-transform: perspective(400px);
    transform: perspective(400px);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -moz-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    -moz-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -moz-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -moz-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    -moz-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.Flip {
  -webkit-backface-visibility: visible;
  -moz-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  -moz-animation-name: flip;
  animation-name: flip;
}

/************ End Of Flip *************/
/************ Start Of FlipInX *************/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@-moz-keyframes flipInX {
  0% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.FlipInX {
  -webkit-backface-visibility: visible !important;
  -moz-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-animation-name: flipInX;
  animation-name: flipInX;
}

/************ End Of FlipInX *************/
/************ Start Of FlipInY *************/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@-moz-keyframes flipInY {
  0% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.FlipInY {
  -webkit-backface-visibility: visible !important;
  -moz-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  -moz-animation-name: flipInY;
  animation-name: flipInY;
}

/************ End Of FlipInY *************/
/************ Start Of FlipOutX *************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutX {
  0% {
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -moz-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.FlipOutX {
  -webkit-animation-name: flipOutX;
  -moz-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

/************ End Of FlipOutX *************/
/************ Start Of FlipOutY *************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@-moz-keyframes flipOutY {
  0% {
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    -moz-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -moz-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.FlipOutY {
  -webkit-backface-visibility: visible !important;
  -moz-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  -moz-animation-name: flipOutY;
  animation-name: flipOutY;
}

/************ End Of FlipOutY *************/
/************ Start Of LightSpeedIn *************/
@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes lightSpeedIn {
  0% {
    -moz-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -moz-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -moz-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    -moz-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    -moz-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    -moz-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.LightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  -moz-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  -moz-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

/************ End Of LightSpeedIn *************/
/************ Start Of LightSpeedOut *************/
@-webkit-keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@-moz-keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -moz-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    -moz-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.LightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  -moz-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  -moz-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

/************ End Of LightSpeedOut *************/
/************ Start Of RotateIn *************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes rotateIn {
  0% {
    -moz-transform-origin: center;
    transform-origin: center;
    -moz-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: center;
    transform-origin: center;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    -moz-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    -moz-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    -moz-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.RotateIn {
  -webkit-animation-name: rotateIn;
  -moz-animation-name: rotateIn;
  animation-name: rotateIn;
}

/************ End Of RotateIn *************/
/************ Start Of RotateInDownLeft *************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownLeft {
  0% {
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -moz-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    -moz-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.RotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  -moz-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

/************ End Of RotateInDownLeft *************/
/************ Start Of RotateInDownRight *************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes rotateInDownRight {
  0% {
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -moz-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    -moz-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.RotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  -moz-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

/************ End Of RotateInDownRight *************/
/************ Start Of RotateInUpLeft *************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpLeft {
  0% {
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -moz-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    -moz-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    -moz-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.RotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  -moz-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

/************ End Of RotateInUpLeft *************/
/************ Start Of RotateInUpRight *************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@-moz-keyframes rotateInUpRight {
  0% {
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -moz-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    -moz-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
    opacity: 1;
  }
}
.RotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  -moz-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

/************ End Of RotateInUpRight *************/
/************ Start Of Hinge *************/
@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@-moz-keyframes hinge {
  0% {
    -moz-transform-origin: top left;
    transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -moz-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -moz-transform-origin: top left;
    transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -moz-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -moz-transform-origin: top left;
    transform-origin: top left;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -moz-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    -moz-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    -moz-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    -moz-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    -moz-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.Hinge {
  -webkit-animation-name: hinge;
  -moz-animation-name: hinge;
  animation-name: hinge;
}

/************ End Of Hinge *************/
/************ Start Of RollIn *************/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@-moz-keyframes rollIn {
  0% {
    opacity: 0;
    -moz-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -moz-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    -moz-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -moz-transform: none;
    transform: none;
  }
}
.RollIn {
  -webkit-animation-name: rollIn;
  -moz-animation-name: rollIn;
  animation-name: rollIn;
}

/************ End Of RollIn *************/
/************ Start Of RollOut *************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@-moz-keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -moz-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    -moz-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.RollOut {
  -webkit-animation-name: rollOut;
  -moz-animation-name: rollOut;
  animation-name: rollOut;
}

/************ End Of RollOut *************/
/************ Start Of ZoomIn *************/
@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@-moz-keyframes zoomIn {
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    -moz-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.ZoomIn {
  -webkit-animation-name: zoomIn;
  -moz-animation-name: zoomIn;
  animation-name: zoomIn;
}

/************ End Of ZoomIn *************/
/************ Start Of ZoomInDown *************/
@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-moz-keyframes zoomInDown {
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.ZoomInDown {
  -webkit-animation-name: zoomInDown;
  -moz-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

/************ End Of ZoomInDown *************/
/************ Start Of ZoomInLeft *************/
@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-moz-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.ZoomInLeft {
  -webkit-animation-name: zoomInLeft;
  -moz-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

/************ End Of ZoomInLeft *************/
/************ Start Of ZoomInRight *************/
@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-moz-keyframes zoomInRight {
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.ZoomInRight {
  -webkit-animation-name: zoomInRight;
  -moz-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

/************ End Of ZoomInRight *************/
/************ Start Of ZoomInUp *************/
@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@-moz-keyframes zoomInUp {
  0% {
    opacity: 0;
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -moz-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    -moz-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -moz-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    -moz-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.ZoomInUp {
  -webkit-animation-name: zoomInUp;
  -moz-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

/************ End Of ZoomInUp *************/
/************ Start Of SlideDown *************/
@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes slideInDown {
  0% {
    -moz-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    -moz-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.SlideInDown {
  -webkit-animation-name: slideInDown;
  -moz-animation-name: slideInDown;
  animation-name: slideInDown;
}

/************ End Of SlideDown *************/
/************ Start Of SlideInLeft *************/
@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes slideInLeft {
  0% {
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.SlideInLeft {
  -webkit-animation-name: slideInLeft;
  -moz-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

/************ End Of SlideInLeft *************/
/************ Start Of SlideInRight *************/
@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes slideInRight {
  0% {
    -moz-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.SlideInRight {
  -webkit-animation-name: slideInRight;
  -moz-animation-name: slideInRight;
  animation-name: slideInRight;
}

/************ End Of SlideInRight *************/
/************ Start Of SlideInUp *************/
@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@-moz-keyframes slideInUp {
  0% {
    -moz-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.SlideInUp {
  -webkit-animation-name: slideInUp;
  -moz-animation-name: slideInUp;
  animation-name: slideInUp;
}

/************ End Of SlideInUp *************/
/*@import "Partials/Slider";*/
/***************************************************
Menu                   
***************************************************/
.mainMenu .navbar-right > li > a {
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#e9e9e9)) repeat scroll 0 0 #e9e9e9;
  background: -moz-linear-gradient(top, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  background: linear-gradient(to bottom, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  border: 1px solid #dddddd;
}
.mainMenu .navbar-right > li.open > a, .mainMenu .navbar-right > li.current > a {
  border: 1px solid #aaa;
  color: #f50303;
}
.mainMenu .navbar-right .dropdown-menu {
  background-clip: padding-box;
  background-color: #f8f8f8;
  border: 1px solid #aaa;
  -webkit-box-shadow: none;
  box-shadow: none;
  font-size: 1.3rem;
  padding: 0;
  border-radius: 0;
}
.mainMenu .navbar-right .dropdown-menu > li > a {
  padding: 12px 20px;
}
.mainMenu ul li.menuCollapse ul {
  list-style: none;
  position: absolute;
  top: 36px;
  left: 0;
  padding: 0;
}
.mainMenu ul li.menuCollapse ul li {
  width: 100%;
}
.mainMenu ul li.menuCollapse ul li a {
  display: block;
  position: relative;
  padding: 6px 15px 8px;
  border-right: 1px solid #cccedb;
  border-bottom: none;
}
.mainMenu ul li.menuCollapse ul li:last-child a {
  border-radius: 0 0 5px 5px;
  border-bottom: 1px solid #cccedb;
}

.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  color: red;
}
.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus,.dropdown-menu > li.open > a,.dropdown-menu > li.current > a {
  background: #e8e8e8;
  background: -moz-linear-gradient(top, #f5f5f5 0px, #e8e8e8 100%);
  background: linear-gradient(to bottom, #f5f5f5 0px, #e8e8e8 100%);
  background-repeat: repeat-x;
  -webkit-box-shadow: 0 0 0 1px #aaa;
  box-shadow: 0 0 0 1px #aaa;
}
.dropdown-menu > li.open > a, .dropdown-menu > li.current > a {
  color: #f50303;
}

/************ Start Of Horizontal Menu *************/
.navbar-right.sf-horizontal ul .collapsible .sub-arrow {
  border-color: transparent -moz-use-text-color transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 10px;
}
.navbar-right.sf-horizontal ul > li > a {
  padding: 10px 15px 10px 15px;
}
.navbar-right.sf-horizontal ul.dropdown-menu {
  top: 0;
  right: 100%;
}
.navbar-right.sf-horizontal > li {
  width: auto;
}
.navbar-right.sf-horizontal > li > a {
  padding: 10px 15px 10px 15px;
}
.navbar-right.sf-horizontal > li > a.has-submenu {
  padding: 10px 15px 10px 25px;
}
.navbar-right.sf-horizontal ul.dropdown-menu {
  min-width: 100% !important;
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
}
.navbar-right.sf-horizontal ul.dropdown-menu ul.dropdown-menu {
  top: auto;
}
.navbar-right.sf-horizontal li ul li a:hover .sub-arrow, .navbar-right.sf-horizontal li ul li .navbar-right.sf-horizontal ul ul .collapsible a:hover .sub-arrow {
  border-color: transparent #F50303 transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  left: 10px;
}
.navbar-right.sf-horizontal li ul li .sub-arrow {
  border-color: transparent -moz-use-text-color transparent transparent !important;
  border-style: dashed solid dashed dashed !important;
  border-width: 4px !important;
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
}
.navbar-right.sf-horizontal a:hover .sub-arrow, .navbar-right.sf-horizontal .collapsible a:hover .sub-arrow {
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  border-style: solid !important;
  border-width: 5px 4px 0 4px !important;
  border-color: #F50303 transparent transparent transparent !important;
  position: absolute;
  top: 50%;
  left: 10px;
}
.navbar-right.sf-horizontal .sub-arrow, .navbar-right.sf-horizontal .collapsible .sub-arrow {
  margin-left: 0 !important;
  margin-top: -2px;
  width: 0;
  height: 0;
  border-style: solid !important;
  border-width: 5px 4px 0 4px !important;
  border-color: #58585A transparent transparent transparent !important;
  position: absolute;
  top: 50%;
  left: 10px;
}

.mainMenu .navbar-right.sf-horizontal > li > a {
  background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#e9e9e9)) repeat scroll 0 0 #e9e9e9;
  background: -moz-linear-gradient(top, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  background: linear-gradient(to bottom, #f8f8f8, #e9e9e9) repeat scroll 0 0 #e9e9e9;
  border: 1px solid #dddddd;
}

.has-submenu {
  position: relative;
}

.sf-horizontal .dropdown-menu {
  display: none;
  float: right;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 1.4rem;
  text-align: right;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1000;
}

/************ Start Of MultiColumn Menu *************/
.multiColumnMenu .nav, .multiColumnMenu .collapse, .multiColumnMenu .dropup, .multiColumnMenu .dropdown {
  position: static !important;
}
.multiColumnMenu .navbar-nav > .hasChild.clicked .dropdown-menu {
  display: block !important;
}
.multiColumnMenu .container {
  position: relative !important;
}
.multiColumnMenu .dropdown-menu {
  top: auto;
  right: auto !important;
}
.multiColumnMenu .multiColumnMenu-content {
  padding: 5px;
}
.multiColumnMenu .dropdown.multiColumnMenu-fw .dropdown-menu {
  left: 0 !important;
  right: 0 !important;
}
.multiColumnMenu:not(.multiColumnMenuOpenMenuOnClick) ul.nav li.dropdown:hover > ul.dropdown-menu {
  display: block;
}
.multiColumnMenu .navbar-nav {
  margin: 0;
}
.multiColumnMenu .navbar-collapse {
  max-height: 500px;
}
/************************************************************/
.mainMenu .dropdown-menu {
  padding: 0px !important;
  border: none;
}

/**************** Start Of Menu Togglers In Mobile **********************/
.menuToggle {
  background: #394263;
  color: rgb(242.25, 242.25, 242.25);
  cursor: pointer;
  display: none;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 12px 15px;
  text-align: right;
  text-transform: uppercase;
}
.menuToggle .megaMenuToggleIcon {
  width: 26px;
  height: 16px;
  padding: 0 !important;
  margin: 0 !important;
  display: block;
  float: left;
  background: none;
}
.menuToggle .megaMenuToggleIcon span {
  width: 100%;
  height: 4px;
  margin: 2px 0;
  display: block;
  position: relative;
  background: #fff;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  transition: 0.5s;
}
.menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(1) {
  top: 6px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(2) {
  opacity: 0;
}
.menuToggle.closeStatus .megaMenuToggleIcon span:nth-child(3) {
  top: -6px;
  -moz-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/**************** Start Of Mega Menu **********************/
.menu3dmega {
  position: relative;
  border: none;
}
.menu3dmega .has-image .img-menu {
  max-width: 100%;
  height: auto;
}
.menu3dmega .has-image .content > div {
  display: inline-block;
  float: right;
  width: 33.33%;
  padding: 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
}
.menu3dmega .has-image .content > div a {
  display: block;
  font-weight: bold;
  text-shadow: none;
  text-align: right;
  white-space: normal;
  padding: 10px 0;
}
.menu3dmega .has-image .content > div a.menu-image-link {
  font-size: 1.2rem;
  margin: 0;
  padding: 0;
}
.menu3dmega.vertical {
  border: none;
}
.menu3dmega:after {
  clear: both;
  content: "";
  display: block;
}
.menu3dmega ul {
  margin: 0;
  padding: 0;
}
.menu3dmega ul li {
  list-style: none;
}
.menu3dmega li.current span.arrow-icon:after {
  top: 44%;
  left: 16px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
.menu3dmega li.current span.arrow-icon:after,.menu3dmega li.current span.arrow-icon-bottom:after {
  background: none;
  content: "";
  font-size: 0;
  position: absolute;
  height: 0;
  width: 0;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  display: inline-block;
  padding: 2px;
}
.menu3dmega li.current span.arrow-icon-bottom:after {
  top: 46%;
  left: 8px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.menu3dmega li .dropdown-menu {
  position: absolute;
  text-align: right;
  white-space: nowrap;
  display: none;
  background-color: #394263;
  margin: 0;
  -webkit-box-shadow: 1px 1px 1px rgba(170, 170, 170, 0.5);
  box-shadow: 1px 1px 1px rgba(170, 170, 170, 0.5);
  border-radius: 0;
}
.menu3dmega li .dropdown-menu.openLeft {
  right: auto;
  left: 0 !important;
  display: block;
}
.menu3dmega li .dropdown-menu li,.menu3dmega li .dropdown-menu li > a {
  -webkit-transition: 0.3s ease all;
  -moz-transition: 0.3s ease all;
  transition: 0.3s ease all;
}
.menu3dmega li .dropdown-menu li > a {
  color: rgb(76.5, 76.5, 76.5);
  background: #394263;
  line-height: 2.1rem;
  padding: 12px 20px;
  white-space: nowrap;
}
.menu3dmega li .dropdown-menu li.current, .menu3dmega li .dropdown-menu li:hover {
  background: #2bbbad;
}
.menu3dmega li .dropdown-menu li.current > a, .menu3dmega li .dropdown-menu li:hover > a {
  color: #eee;
}
.menu3dmega li ul {
  list-style: none;
  margin: 0;
}
.menu3dmega li ul li {
  font-size: 1.2rem;
  position: relative;
  margin: 0;
  float: none;
  text-align: right;
}
.menu3dmega li .sub {
  border: none;
  display: none;
  position: absolute;
  top: 0;
  right: 100%;
  z-index: 20;
}
.menu3dmega li .sub.openBottom {
  left: auto !important;
}
.menu3dmega li .grisbox li {
  background: #F4F4F4;
  border: 1px solid #bbbbbb;
  margin: 0px 0px 4px 0px;
  padding: 4px 6px 4px 6px;
  width: 116px;
  border-radius: 5px 5px 2px 2px;
  -webkit-box-shadow: inset 0 0 3px #ccc;
  box-shadow: inset 0 0 3px #ccc;
}
.menu3dmega a {
  outline: 0 none;
  color: #333;
}
.menu3dmega a:hover {
  color: #526dd0;
}
.menu3dmega a:visited {
  outline: 0 none;
}
.menu3dmega > ul > li {
  float: right;
  display: inline-block;
  position: relative;
  text-align: right;
  line-height: 24px;
}
.menu3dmega > ul > li:hover {
  background: #394263;
}
.menu3dmega > ul > li:hover > .arrow-icon-bottom, .menu3dmega > ul > li:hover > a, .menu3dmega > ul > li:hover > .arrow-icon-bottom:after, .menu3dmega > ul > li:hover > a:after {
  border-color: #fff;
}
.menu3dmega > ul > li.right {
  border-right: none !important;
}
.menu3dmega > ul > li.right,.menu3dmega > ul > li.first {
  border-left: none !important;
}
.menu3dmega > ul > li.last {
  border-right: none !important;
}
.menu3dmega > ul > li.full-width {
  position: static;
}
.menu3dmega > ul > li > .dropdown-menu {
  right: auto;
}
.menu3dmega > ul > li > a, .menu3dmega > ul > li > span {
  padding: 10px 15px;
  outline: 0;
  display: block;
  font-size: 1.4rem;
  border-radius: 5px;
  font-weight: normal;
  margin-bottom: 0;
  text-decoration: none;
}
.menu3dmega > ul > li p a {
  text-decoration: none;
}
.menu3dmega > ul > li .icon-menu {
  float: right;
  height: 16px;
  margin-right: 7px;
}
.menu3dmega > ul > li > .arrow-icon, .menu3dmega > ul > li > .arrow-icon-bottom {
  padding-left: 25px;
  cursor: pointer;
  position: relative;
}
.menu3dmega > ul > li.no-link:hover {
  background-color: transparent;
}
.menu3dmega > ul li {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.menu3dmega > ul li:hover, .menu3dmega > ul li.current {
  background: #394263;
  color: #fff !important;
}
.menu3dmega > ul li:hover a, .menu3dmega > ul li.current a {
  background: none;
  color: #fff !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.menu3dmega > ul li > a {
  background: none;
  display: block;
  text-decoration: none;
  font-size: 1.3rem;
  font-weight: normal;
  margin-bottom: 0;
  position: relative;
}
.menu3dmega > ul li > a.has-submenu {
  position: relative;
}
.menu3dmega > ul li > a.has-submenu:before {
  width: 0;
  height: 0;
  font-family: "Glyphicons Halflings";
  font-size: 8px;
  position: absolute;
  top: 50%;
  left: 17px;
  content: "\e81d";
  margin-top: -12px;
}
.menu3dmega div[class*=animate-] {
  display: none;
  position: absolute;
}
.menu3dmega p {
  line-height: 18px;
  margin: 0 0 22px 0;
  white-space: normal;
  clear: both;
  text-align: justify;
}
.menu3dmega span.arrow-icon:after {
  top: 44%;
  left: 16px;
  border: solid #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
.menu3dmega span.arrow-icon:after,.menu3dmega span.arrow-icon-bottom:after {
  background: none;
  content: "";
  font-size: 0;
  position: absolute;
  height: 0;
  width: 0;
  display: inline-block;
  padding: 2px;
}
.menu3dmega span.arrow-icon-bottom:after {
  top: 46%;
  left: 8px;
  border: solid #333;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.menu3dmega .menu-search input[type=text] {
  border: 1px solid #394352;
}
.menu3dmega .content {
  padding: 20px;
}
.menu3dmega .content:after {
  clear: both;
  content: "";
  display: table;
  line-height: 0;
}
.menu3dmega .separate {
  border-bottom: 1px solid #ccc;
}
.menu3dmega .clearfix > .menu-title {
  margin: 10px 20px;
}
.menu3dmega .left {
  float: left;
}
.menu3dmega .right {
  float: right !important;
}
.menu3dmega .grid-demo [class*=col-lg] {
  background: rgb(242.25, 242.25, 242.25);
  font-size: 1.19rem;
  font-weight: bold;
  margin-bottom: 5px;
  margin-top: 5px;
  text-align: center;
  border: 1px solid #ccc;
}
.menu3dmega .full-width .dropdown-menu {
  left: -1px;
  width: 100%;
}
.menu3dmega .imgclass {
  float: right;
  margin-top: 3px;
  margin-right: 10px;
  background: #fff;
  padding: 4px;
  border: 1px solid rgb(216.75, 216.75, 216.75);
  -webkit-box-shadow: 0px 0px 5px #666666;
  box-shadow: 0px 0px 5px #666666;
}
.menu3dmega .text {
  width: 230px;
  display: block;
}
.menu3dmega .menu-title {
  color: #333333;
  display: block;
  font-size: 1.19rem;
  letter-spacing: 0.5px;
  font-weight: bold;
  margin-bottom: 10px;
  border-bottom: 1px solid #ddd;
  text-decoration: none;
  padding-bottom: 3px;
}
.menu3dmega .desc {
  font-style: italic;
  color: #999;
  font-size: 1rem;
  display: block;
  font-weight: normal;
}
.menu3dmega .separator {
  clear: both;
  margin: 0px 0 10px 0;
  height: 1px;
  display: block;
  border-bottom: 1px solid rgb(242.25, 242.25, 242.25);
}
.menu3dmega .separator:before {
  content: "";
  display: table;
  line-height: 0;
}

.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus,.dropdown-submenu:hover > a,.dropdown-submenu:focus > a {
  background: none !important;
  color: #333;
}

@-moz-document url-prefix() {
  .wp-non-dropdown .btn {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}
.separator:after {
  content: "";
  display: table;
  line-height: 0;
}

.menu-has-related-component {
  position: static;
}
.menu-has-related-component .dropdown-menu {
  left: -1px;
  width: 100%;
}

/**************** Start Of RESPONSIVE Menu **********************/
/* SCREEN */
/* MOBILE*/
/***************For Future*******************/
/*.menuToggle .megaMenuToggle-icon {
    background: none repeat scroll 0 0 rgba(230, 230, 230, 0.7);
    display: inline-block;
    float: left;
    height: 2px;
    margin-top: 12px;
    @include position(relative,null,null,null,null,null);
    text-align: right;
    width: 16px;
}
.menuToggle  .megaMenuToggle-icon {
    &:before {
        background: none repeat scroll 0 0 rgba(230, 230, 230, 0.8);
        content: "";
        height: 2px;
        @include position(absolute,-4px,null,null,null,null);
        width: 16px;
        transition: all .4s;
    }

    &:after {
        background: none repeat scroll 0 0 rgba(230, 230, 230, 0.9);
        content: "";
        height: 2px;
        position: absolute;
        @include position(absolute,-8px,null,null,null,null);
        top: -8px;
        width: 16px;
        transition: all .4s;
    }
}

.menu-toggle {
    background: none repeat scroll 0 0 rgba(230, 230, 230, 0.7);
    display: inline-block;
    float: left;
    height: 2px;
    margin-top: 12px;
    @include position(relative,null,null,null,null,null);
    text-align: left;
    width: 16px;
}*/
/***************************************************
Push Menu                   
***************************************************/
.largeDurationTransition, .pushMenuOpen .tabPanelContent, .pushMenuWrapper .tabpanelContent, .pushMenuWrapper .pushMenuOpen .tabPanelSet, .pushMenuTabPanel, .pushMenuSimpleLinksWrap, .pushMenuLinksWrap, .pushMenuOpen .pushMenuTabPanel, .pushMenuOpen .pushMenuLinksWrap, .pushMenuOpen .pushMenuSimpleLinksWrap {
  -webkit-transition-delay: 0ms, 0ms, 0ms;
  -moz-transition-delay: 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms;
  -webkit-transition-duration: 1000ms, 1000ms, 0ms;
  -moz-transition-duration: 1000ms, 1000ms, 0ms;
  transition-duration: 1000ms, 1000ms, 0ms;
}

.mainContent {
  width: 100%;
  height: 100%;
  -webkit-transition: left 375ms ease-in-out 0ms;
  -moz-transition: left 375ms ease-in-out 0ms;
  transition: left 375ms ease-in-out 0ms;
  position: relative;
  left: 0;
  z-index: 10;
}

.pushMenuOpen {
  overflow: hidden;
  right: 0;
}
.pushMenuOpen .pushMenuLinksWrap, .pushMenuOpen .pushMenuSimpleLinksWrap {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
}
.pushMenuOpen .mainContent {
  -webkit-transition-duration: 750ms;
  -moz-transition-duration: 750ms;
  transition-duration: 750ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14);
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14);
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14);
  position: relative;
  top: 0;
  left: -21em;
}
.pushMenuOpen .pushMenuLinksWrap > li {
  background-color: #000;
}
.pushMenuOpen .pushMenuTabPanel {
  visibility: visible;
  border-left: 1px solid #fff;
  overflow-y: scroll;
  direction: ltr;
}
.pushMenuOpen .imgPushMenuLogo {
  visibility: hidden;
}

.pushMenuLinksWrap {
  -webkit-transition-delay: 0ms, 0ms, 0ms;
  -moz-transition-delay: 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms;
  -webkit-transition-duration: 750ms, 375ms, 0ms;
  -moz-transition-duration: 750ms, 375ms, 0ms;
  transition-duration: 750ms, 375ms, 0ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  visibility: visible;
  width: 15em;
  overflow: hidden;
  -webkit-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  -moz-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  padding-right: 0;
  position: fixed;
  top: 3em;
  right: 0;
  z-index: 500;
}
.pushMenuLinksWrap > li {
  border-bottom: medium none;
  color: rgba(255, 255, 255, 0.8);
  display: block;
  font-size: 0.8em;
  line-height: 1.33;
  margin: 0.625em 0;
  overflow: hidden;
  padding: 0.9375em;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  -moz-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  white-space: nowrap;
  width: 95%;
  background-color: rgb(216.75, 216.75, 216.75);
  cursor: pointer;
  min-height: 45px;
  position: relative;
  top: 0;
  right: -5%;
  z-index: 0;
}
.pushMenuLinksWrap > li:hover {
  width: 100%;
  right: 0;
}
.pushMenuLinksWrap > li:hover span {
  color: #fff;
}
.pushMenuLinksWrap > li > span {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font: bold 16px "SDF";
  display: block;
  width: 95%;
  height: 100%;
  -webkit-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  -moz-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
}

.pushMenuSimpleLinksWrap {
  -webkit-transition-delay: 0ms, 0ms, 0ms;
  -moz-transition-delay: 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms;
  -webkit-transition-duration: 750ms, 375ms, 0ms;
  -moz-transition-duration: 750ms, 375ms, 0ms;
  transition-duration: 750ms, 375ms, 0ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, linear;
  visibility: visible;
  width: 15em;
  overflow: hidden;
  -webkit-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  -moz-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  padding-right: 0;
  position: fixed;
  top: 12em;
  right: 0;
  z-index: 500;
}

.mainPages {
  padding-left: 3em;
  width: 10em;
}
.mainPages li {
  border-bottom: medium none;
  color: #fff;
  display: block;
  font-size: 0.8em;
  line-height: 1.33;
  margin: 0.625em 0;
  overflow: hidden;
  padding: 0.9375em;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  -moz-transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  transition: width 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, right 250ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  white-space: nowrap;
  width: 95%;
  background: #005eb8;
  position: relative;
  top: 0;
  right: 0;
}
.mainPages li:hover {
  width: 100%;
}

.pushMenuTabPanel {
  width: 28em;
  background: #000;
  -webkit-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  -moz-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  visibility: hidden;
  color: #fff;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative;
  right: -28em;
  z-index: 510;
}
.pushMenuTabPanel .pushMenuCloseIco {
  background-color: #000;
  color: #e5e2e0;
  margin: 0;
  padding: 0;
  -webkit-transition: background-color 250ms ease-in-out 0ms, visibility 0ms linear 250ms, opacity 250ms ease-in-out 0ms;
  -moz-transition: background-color 250ms ease-in-out 0ms, visibility 0ms linear 250ms, opacity 250ms ease-in-out 0ms;
  transition: background-color 250ms ease-in-out 0ms, visibility 0ms linear 250ms, opacity 250ms ease-in-out 0ms;
  position: absolute;
}
.pushMenuTabPanel .pushMenuCloseIco:hover {
  background-color: #2c2c33;
  color: #fff;
  margin: 0;
  padding: 0;
}

.panel-pushmenu .panel-heading a, .panel-pushmenu-nochild a {
  color: #fff;
}

.panel-pushmenu .panel-body li a {
  color: #b4b2ad;
}

.pushmenu-level1 {
  padding: 0 !important;
}
.pushmenu-level1 .panel {
  background: none !important;
  margin-bottom: 0;
}

.pushMenuSetActive {
  right: 28em;
}

.force::after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}

/*-- masking the page after opening navigation --*/
.pushMenuOverlay {
  background-color: rgba(44, 44, 51, 0);
  width: 100%;
  height: 100%;
  -webkit-transition: right 375ms ease-in-out 0ms, right 0ms linear 375ms, background-color 375ms ease-in-out 0ms;
  -moz-transition: right 375ms ease-in-out 0ms, right 0ms linear 375ms, background-color 375ms ease-in-out 0ms;
  transition: right 375ms ease-in-out 0ms, right 0ms linear 375ms, background-color 375ms ease-in-out 0ms;
  visibility: hidden;
  border-bottom: 1px solid #fff;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.pushMenuOpen .pushMenuOverlay {
  visibility: visible;
  background-color: rgba(44, 44, 51, 0.9);
  cursor: url("/App_Themes/Default-fa-IR/images/cursor-close.png"), auto;
  -webkit-transition-delay: 0ms, 0ms, 0ms;
  -moz-transition-delay: 0ms, 0ms, 0ms;
  transition-delay: 0ms, 0ms, 0ms;
  -webkit-transition-duration: 750ms, 0ms, 375ms;
  -moz-transition-duration: 750ms, 0ms, 375ms;
  transition-duration: 750ms, 0ms, 375ms;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), linear, ease-in-out;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), linear, ease-in-out;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), linear, ease-in-out;
  position: fixed;
  right: 0;
  z-index: 500;
}
.pushMenuOpen .pushMenuTabPanel {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  overflow-y: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  right: 0;
  z-index: 500;
}

.pushMenuWrapper {
  width: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 8030;
}

/*close navigation by clicking on overlay section*/
.tabpanelSetClose {
  position: relative;
  right: -28em;
}

.pushMenuClose {
  right: 0;
}

/*styles for hamburger and close button */
.pushMenuWrapper .pushMenuOpen .tabPanelSet {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  visibility: visible;
}
.pushMenuWrapper .tabPanelSet {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: hidden;
  position: relative;
}
.pushMenuWrapper .tabPanelSet,.pushMenuWrapper .tabpanelContent {
  -webkit-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  -moz-transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
  transition: width 375ms ease-in-out 0ms, right 375ms ease-in-out 0ms, visibility 0ms linear 375ms;
}
.pushMenuWrapper .tabpanelContent {
  padding: 10px 20px;
  direction: ltr;
  height: 100%;
  width: 100%;
  float: right;
  display: none;
}

.pushMenuOpen .tabPanelContent {
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), linear;
}
.tabpanelContent .content,.tabpanelContent .content a {
  direction: rtl;
  color: #fff;
}

/* close box */
.pushMenuCloseIco {
  background-color: #000;
  border: medium none;
  color: #b4b2ad;
  cursor: pointer;
  display: block;
  height: 3em;
  text-decoration: none;
  -webkit-transition: background-color 250ms ease-in-out 0s;
  -moz-transition: background-color 250ms ease-in-out 0s;
  transition: background-color 250ms ease-in-out 0s;
  width: 3em;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.pushMenuCloseIco::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -moz-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.pushMenuCloseIco::before,.pushMenuCloseIco::after {
  background-color: transparent;
  border-top: 0.18em solid #fff;
  content: "";
  height: 0;
  -webkit-transition: border-top-color 250ms ease-in-out 0s;
  -moz-transition: border-top-color 250ms ease-in-out 0s;
  transition: border-top-color 250ms ease-in-out 0s;
  width: 40%;
  position: absolute;
  top: 50%;
  left: 50%;
}
.pushMenuCloseIco::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  -moz-transform: translate(-50%, -50%) rotate(-45deg);
  -ms-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.main-nav-open .pushMenuTabPanel .pushMenuCloseIco, .pushMenuTabPanel .pushMenuCloseIco {
  margin: 0;
  opacity: 1;
  -webkit-transition-delay: 0ms, 0ms, 1000ms;
  -moz-transition-delay: 0ms, 0ms, 1000ms;
  transition-delay: 0ms, 0ms, 1000ms;
  visibility: visible;
  position: fixed;
}

/* Hamburger Icon */
.pushMenuWrapper .hamburger {
  background-color: rgba(180, 178, 173, 0.5);
  border-bottom: none;
  color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  line-height: 1em;
  margin: 0;
  text-align: center;
  -webkit-transition-delay: 0ms, 0ms, 0ms, 375ms, 375ms, 375ms;
  -moz-transition-delay: 0ms, 0ms, 0ms, 375ms, 375ms, 375ms;
  transition-delay: 0ms, 0ms, 0ms, 375ms, 375ms, 375ms;
  -webkit-transition-timing-function: ease-in-out, ease-in-out, ease-in-out, ease-in-out, ease-in-out, linear;
  -moz-transition-timing-function: ease-in-out, ease-in-out, ease-in-out, ease-in-out, ease-in-out, linear;
  transition-timing-function: ease-in-out, ease-in-out, ease-in-out, ease-in-out, ease-in-out, linear;
  -webkit-transition: width 250ms ease-in-out 0ms, padding-right 250ms ease-in-out 0ms, right 375ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 375ms, background-color 250ms ease-in-out 0ms, color 250ms ease-in-out 0ms, visibility 0ms linear 0ms;
  -moz-transition: width 250ms ease-in-out 0ms, padding-right 250ms ease-in-out 0ms, right 375ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 375ms, background-color 250ms ease-in-out 0ms, color 250ms ease-in-out 0ms, visibility 0ms linear 0ms;
  transition: width 250ms ease-in-out 0ms, padding-right 250ms ease-in-out 0ms, right 375ms cubic-bezier(0.175, 0.885, 0.32, 1.14) 375ms, background-color 250ms ease-in-out 0ms, color 250ms ease-in-out 0ms, visibility 0ms linear 0ms;
  width: 5em;
  height: 4em;
  display: block;
  padding: 1.5em 2.5em 1em 3em;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: -6em;
  z-index: 9999;
}
.pushMenuWrapper .hamburger:hover {
  background: #000;
  color: #fff;
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, ease-in-out;
  -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, ease-in-out;
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), cubic-bezier(0.175, 0.885, 0.32, 1.14), ease-in-out, ease-in-out;
  right: 0;
}
.pushMenuWrapper .hamburger:hover i {
  background: #fff;
}
.pushMenuWrapper .hamburger i {
  width: 19px;
  height: 3px;
  display: block;
  margin-bottom: 3px;
  color: rgba(0, 0, 0, 0.5);
  background: rgba(0, 0, 0, 0.5);
  clear: both;
  z-index: 9999;
}

.hidePushMenuLinks .hamburger {
  position: fixed;
  right: -1em;
  z-index: 9999;
}
.hidePushMenuLinks .hamburger:hover {
  right: -0.3em;
}
.hidePushMenuLinks .pushMenuLinksWrap {
  right: -28em;
}

.showPushMenuLinks .pushMenuLinksWrap {
  right: 0;
}
.showPushMenuLinks .hamburger {
  right: -6em;
}

.pushMenuOpen.showPushMenuLinks .pushMenuLinksWrap {
  right: 28em;
}

.panel-pushmenu, .panel-pushmenu-nochild {
  border-radius: 0 !important;
  background: none !important;
  margin-bottom: 0;
  border-bottom: 2px solid #2c2c33;
}

.panel-pushmenu,.panel-pushmenu-nochild,.panel-pushmenu .panel-heading {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
}

.panel-pushmenu .panel-heading {
  margin-left: 39px;
}
.panel-pushmenu .panel-heading:hover {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #2c2c33 !important;
  border-radius: 0 !important;
}
.panel-pushmenu .panel-heading:hover,.panel-pushmenu .panel-heading a {
  -webkit-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
}
.panel-pushmenu .panel-heading a {
  display: inline-block;
}

.panel-pushmenu-nochild:hover {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
  background-color: #2c2c33 !important;
  border-radius: 0 !important;
}
.panel-pushmenu-nochild:hover,.panel-pushmenu-nochild a {
  -webkit-transition: all 250ms;
  -moz-transition: all 250ms;
  transition: all 250ms;
}
.panel-pushmenu-nochild a {
  display: inline-block;
}

.panel-pushmenu .panel-heading:hover a, .panel-pushmenu-nochild:hover a {
  -webkit-transform: translateX(-10px);
  -moz-transform: translateX(-10px);
  -ms-transform: translateX(-10px);
  transform: translateX(-10px);
}

.panel-pushmenu .panel-body {
  padding: 0;
}
.panel-pushmenu .panel-body li {
  list-style: none;
  border-top: 2px solid #2c2c33;
  padding: 8px 10px 8px;
  margin-right: 2em;
}
.panel-pushmenu .panel-body li,.panel-pushmenu .panel-body li:hover {
  -webkit-transition: padding-right 250ms ease-in-out 0s, padding-left 250ms ease-in-out 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  -moz-transition: padding-right 250ms ease-in-out 0s, padding-left 250ms ease-in-out 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
  transition: padding-right 250ms ease-in-out 0s, padding-left 250ms ease-in-out 0s, background-color 250ms ease-in-out 0s, color 250ms ease-in-out 0s;
}
.panel-pushmenu .panel-body li:hover {
  background-color: transparent !important;
  border-radius: 0 !important;
  padding-right: 2.5em;
  padding-left: 0;
}
.panel-pushmenu .panel-body li:first-child {
  border-top: none;
}
.panel-pushmenu .panel-body li :last-child {
  border-bottom: none;
}
.panel-pushmenu ul {
  border-top: 2px solid #2c2c33;
  margin: 0;
  padding: 0;
  width: 100%;
}
.panel-pushmenu .panel-heading[aria-expanded=true] {
  position: relative;
}
.panel-pushmenu .panel-heading[aria-expanded=true]:after {
  content: "\e936";
  color: #7e7e7c;
  font: 18px/41px "Glyphicons Halflings";
  width: 40px;
  height: 100%;
  padding-right: 12px;
  background: #16161a;
  background: rgba(44, 44, 51, 0.5);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: -40px;
}
.panel-pushmenu .panel-heading[aria-expanded=true]:hover::after {
  color: #fff;
}
.panel-pushmenu .collapsed {
  position: relative;
}
.panel-pushmenu .collapsed:after {
  content: "\e937";
  color: #7e7e7c;
  font: 18px/41px "Glyphicons Halflings";
  width: 40px;
  height: 100%;
  background: #ccc;
  padding-right: 12px;
  background: #16161a;
  background: rgba(44, 44, 51, 0.5);
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: -40px;
}
.panel-pushmenu .collapsed:hover::after {
  color: #fff;
}

.panel-pushmenu-nochild {
  padding: 10px 15px;
}

.panel-pushmenu .panel-body .panel-pushmenu .panel-body li:first-child {
  border-top: none;
}

/*Push Menu Logo */
.pushMenuWrapper .pushMenuLogo {
  margin: 30px auto 0;
  display: block;
}
.pushMenuWrapper .imgPushMenuLogo {
  margin-bottom: 30px;
}

/* Push Menu SearchBox */
.pushMenuSearchBox .generalSearchBox {
  direction: rtl;
}
.pushMenuSearchBox .generalSearchBox .input-group {
  background: none repeat scroll 0 0;
  border: 1px solid #666666;
  border-radius: 0 !important;
  margin: 30px 18px 0 18px;
  width: auto !important;
}
.pushMenuSearchBox .generalSearchBox .input-group input:focus {
  color: #fff !important;
}
.pushMenuSearchBox .generalSearchBox, .pushMenuSearchBox .generalSearchBox .form-group {
  width: 100%;
}
.pushMenuSearchBox .generalSearchBox a {
  background: none !important;
  border: medium none;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #fff;
  font-size: 1.3rem;
  height: 25px;
  margin: 2px;
  padding: 4px;
  text-shadow: none;
  width: 30px;
  float: left;
  border-right: 1px solid #fff;
}
.pushMenuSearchBox .generalSearchBox a:hover, .pushMenuSearchBox .generalSearchBox a:focus {
  background-color: #4fc0ea !important;
  color: #4fc0ea;
}
.pushMenuSearchBox .generalSearchBox a:hover i::before, .pushMenuSearchBox .generalSearchBox a:focus i::before {
  color: #fff;
}

/* tab panel news style */
.pushMenuWrapper .newsListItem a, .pushMenuWrapper .newsListDate {
  color: #b4b2ad;
}
.pushMenuWrapper .newsListItem {
  border-bottom: 2px solid #2c2c33;
  padding: 16px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.pushMenuWrapper .newsListItem:hover {
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: translateX(-20px);
  -moz-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px);
}
.pushMenuWrapper .newsListItem a::before,.pushMenuWrapper .newsListItem a::after {
  content: "" !important;
}

.scrollToTop {
  width: 100px;
  height: 100px;
  background: red;
  display: none;
}
/********Night Mode*********/
.night-mode {
  background: #121212;
  color: #B0B0B0 !important;
}
.night-mode .mainHeaderWrap,.night-mode .mainContentWrap > .container {
  background: #1D1D1D;
}
.night-mode .panel-body {
  background: #1D1D1D !important;
}
.night-mode .panel-body .content {
  color: #B0B0B0;
}

/************ Start Of Parallax *************/
.parallax {
  background-position: center center !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/************ End Of Parallax *************/
/***************************************************
PrintVersion                   
***************************************************/
/***************************************************
AdminBar                   
***************************************************/
.adminbar {
  direction: rtl;
  margin-top: -51px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 8020;
  display: table;
  background: #1C2331;
  padding: 7px 20px 8px;
  font-size: 0.8em;
  border-radius: 0;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.adminbar:after {
  content: "";
  bottom: -17px;
  left: 0;
  z-index: -1;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.adminbar:after,.adminbar:before {
  font-family: "Glyphicons Halflings";
  color: #111;
  padding-top: 0;
  width: 15px;
  position: absolute;
  height: 15px;
  border-radius: 0px;
  text-align: center;
}
.adminbar:before {
  content: "\e863";
  bottom: -25px;
  left: 3px;
  z-index: 0;
  font-size: 15px;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
  cursor: pointer;
}
.adminbar:hover:after {
  opacity: 1;
}
.adminbar .quicklinks {
  padding: 0 8px;
  display: inline-block;
  width: 100%;
}
.adminbar .quicklinks ul {
  margin: 0;
}
.adminbar .quicklinks ul li a {
  color: rgb(242.25, 242.25, 242.25);
  padding: 0 8px 0 7px;
  -webkit-transition: all 500ms ease-in-out;
  -moz-transition: all 500ms ease-in-out;
  transition: all 500ms ease-in-out;
}
.adminbar .quicklinks ul li a:hover {
  color: #0bb3f9;
}
.adminbar .quicklinks ul li a .glyphicon-mana {
  top: -1px;
}
.adminbar .quicklinks ul li a .glyphicon-mana:before {
  font-size: 20px;
}
.adminbar .quicklinks ul li a .glyphicon-stats {
  font-size: 1.4em;
  padding-left: 6px;
}
.adminbar .quicklinks ul.nav li.myAccount img {
  border-radius: 15px;
  width: 22px;
  height: 22px;
  margin-left: 8px;
  background: url("/Components/SiteMember/Resources/Images/Avatar.png") no-repeat center center;
}
.adminbar .quicklinks ul.nav li > a:hover, .adminbar .quicklinks ul.nav li > a:focus {
  background: none;
}

.showAdmin.adminbar {
  margin-top: 0;
}
.showAdmin.adminbar:before {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
  color: #333;
}
/*@import "Partials/MainLogo";*/
/***************************************************
Date                   
***************************************************/
.generalCurrentDateTime {
  width: 100%;
  color: #fff;
  padding: 8px 0;
  float: right;
}

.datetimeSeparator {
  padding: 0 4px;
}

/***************************************************
Search                   
***************************************************/
.eco-search-box {
  position: absolute;
  top: 20%;
  left: auto;
  right: auto;
  z-index: 999;
  margin: 0 auto;
  width: 100%;
}
.eco-search-box .searchWithSuggestion {
  width: auto;
  background: #182350;
  backdrop-filter: blur(4px);
  padding: 10px 15px;
  border-radius: 10px;
  border: 1px solid #B9915E;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  margin: 0 auto;
}
.eco-search-box .searchWithSuggestion .btn-primary {
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
  font-weight: 600;
  background: none;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100px;
  text-shadow: none;
  text-align: right;
  border-radius: 0;
  background-color: transparent !important;
  margin: 0;
}
.eco-search-box .input-group {
  display: block;
}
.eco-search-box .input-group .searchTextBox {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;
  border: none;
  outline: none;
  border-radius: 6px !important;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.1333333333);
  color: #fff;
  width: 800px;
}
.eco-search-box .input-group-btn:last-child > .btn, .eco-search-box .input-group-btn:last-child > .btn-group {
  margin-right: 6px;
}
.eco-search-box .input-group-btn a {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 6px !important;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.eco-search-box .input-group-btn a span {
  display: none;
}

.eco-search-boxIndustry {
  position: absolute;
  top: 20%;
  left: auto;
  right: auto;
  z-index: 999;
  margin: 0 auto;
  width: 100%;
}
.eco-search-boxIndustry .searchWithSuggestion {
  width: auto;
  background: #EDEBDE;
  backdrop-filter: blur(4px);
  padding: 10px 15px;
  border-radius: 10px;
  border: 1px solid #1B1716;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  margin: 0 auto;
}
.eco-search-boxIndustry .searchWithSuggestion .btn-primary {
  color: #1B1716;
  font-size: 14px;
  white-space: nowrap;
  font-weight: 600;
  background: none;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100px;
  text-shadow: none;
  text-align: right;
  border-radius: 0;
  background-color: transparent !important;
  margin: 0;
}
.eco-search-boxIndustry .input-group {
  display: block;
}
.eco-search-boxIndustry .input-group .searchTextBox {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;
  border: none;
  outline: none;
  border-radius: 6px !important;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.3333333333);
  color: #1B1716;
  width: 800px;
}
.eco-search-boxIndustry .input-group-btn:last-child > .btn, .eco-search-boxIndustry .input-group-btn:last-child > .btn-group {
  margin-right: 6px;
}
.eco-search-boxIndustry .input-group-btn a {
  width: 32px;
  height: 32px;
  background: #810100;
  border-radius: 6px !important;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.eco-search-boxIndustry .input-group-btn a span {
  display: none;
}

.eco-search-boxNew {
  position: absolute;
  top: 20%;
  left: auto;
  right: auto;
  z-index: 999;
  margin: 0 auto;
  width: 100%;
}
.eco-search-boxNew .searchWithSuggestion {
  width: auto;
  background: rgba(13, 58, 53, 0.9333333333);
  backdrop-filter: blur(4px);
  padding: 10px 15px;
  border-radius: 10px;
  -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  margin: 0 auto;
}
.eco-search-boxNew .searchWithSuggestion .btn-primary {
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
  font-weight: 600;
  background: none;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 100px;
  text-shadow: none;
  text-align: right;
  border-radius: 0;
  background-color: transparent !important;
  margin: 0;
}
.eco-search-boxNew .input-group {
  display: block;
}
.eco-search-boxNew .input-group .searchTextBox {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 10px;
  border: none;
  outline: none;
  border-radius: 6px !important;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.1333333333);
  color: #fff;
  width: 800px;
}
.eco-search-boxNew .input-group-btn:last-child > .btn, .eco-search-boxNew .input-group-btn:last-child > .btn-group {
  margin-right: 6px;
}
.eco-search-boxNew .input-group-btn a {
  width: 32px;
  height: 32px;
  background: #fff;
  border-radius: 6px !important;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.eco-search-boxNew .input-group-btn a span {
  display: none;
}

.bgRed .searchWithSuggestion {
  background: #910029;
}
.bgRed .btn-default {
  background-color: #910029 !important;
}

.flexSearchBox .input-group {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}
.flexSearchBox .input-group input {
  -webkit-box-ordinal-group: 3;
  -moz-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
  width: 30px;
  height: 30px;
  padding: 4px;
  margin: 2px;
  background: #262c44;
  border-radius: 50% !important;
  border: none;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  color: #fff;
  text-shadow: none;
  font-size: 1.3rem;
}
.flexSearchBox .input-group label {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  padding: 5px 10px 0;
  display: table;
}
.flexSearchBox .input-group .input-group-btn {
  -webkit-box-ordinal-group: 4;
  -moz-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}
.flexSearchBox .input-group .input-group-btn .btn {
  margin-top: 2px;
}

.generalSearchBox .input-group {
  background: #fff;
  border-radius: 50px;
}
.generalSearchBox .input-group input {
  color: #8894b7;
  background: none;
  border-radius: 0;
  border: none;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.generalSearchBox .input-group input:focus {
  color: #000 !important;
}

.searchtitle,a.searchtitle:link {
  color: #0000cc;
  text-decoration: none;
}
a.searchtitle:visited, a.searchtitle:active {
  color: #551A8B;
  text-decoration: underline;
}
a.searchtitle:hover {
  color: #eb7629;
  text-decoration: underline;
  border-bottom: #eb7629 0 solid;
}

.searchhighlight {
  font-weight: bold;
}

.searchcounter {
  color: #000;
}

.searchaddress {
  font-size: 0.9em;
  direction: ltr;
  text-align: right;
}

.searchaddress,a.searchaddress:link {
  color: #008000;
  text-decoration: none;
}
a.searchaddress:hover {
  text-decoration: none;
}

a.address:visited, a.address:active {
  color: #8284CC;
  text-decoration: none;
}

.searchmoreresult {
  font-size: 0.95em;
}

a.searchmoreresult:link {
  color: #8284CC;
}
a.searchmoreresult:link,a.searchmoreresult:hover {
  text-decoration: none;
}

.searchcontentlength {
  color: #8d8d8d;
}

.searchpagenumber {
  direction: ltr;
}

.searchpagenumber ul.pagination {
  padding: 0;
}
.searchpagenumber a.searchprevious::after {
  content: "»";
}
.searchpagenumber a.searchnext::before {
  content: "«";
}

/************ Start Of Search Style *************/
.ComponentSearchBoxWrap {
  margin: 0 auto 10px auto;
  padding: 2px;
  border: 1px solid #aaa;
  -webkit-box-shadow: 0 1px 2px #aaa;
  box-shadow: 0 1px 2px #aaa;
}
.ComponentSearchBoxWrap,.ComponentSearchBoxWrap .ccbswTop {
  border-radius: 5px;
  background-color: #fff;
}
.ComponentSearchBoxWrap .ccbswTop span.ccbswTextTitle {
  display: block;
  font-weight: bold;
  color: #ae1406;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(11%, #fff), color-stop(56%, rgb(250, 250, 250)));
  background-image: -moz-linear-gradient(#fff 11%, rgb(250, 250, 250) 56%);
  background-image: linear-gradient(#fff 11%, rgb(250, 250, 250) 56%);
  background-color: #f3f3f3;
}
.ComponentSearchBoxWrap .ccbswMiddle .ccbswMiddleLeft .ccbswMiddleRight .ccbswMiddleContent {
  margin: 0;
  padding: 5px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(18%, rgb(243, 243, 243)), color-stop(59%, #fff));
  background-image: -moz-linear-gradient(rgb(243, 243, 243) 18%, #fff 59%);
  background-image: linear-gradient(rgb(243, 243, 243) 18%, #fff 59%);
  background-color: #f3f3f3;
}

/************ End Of Search Component *************/
/************ Start Search Module *************/
.moduleSearchResultWrap {
  border-top: 1px solid #DDDADA;
  border-bottom: 1px solid #DDDADA;
  margin: 5px 0;
  padding: 2px 5px;
  background-color: #F3F3F3;
  -webkit-box-shadow: 0 2px 7px #ddd;
  box-shadow: 0 2px 7px #ddd;
}
.moduleSearchResultWrap .searchHeaderLabel {
  float: right;
  font-style: italic;
  color: #6e6e6e;
}
.moduleSearchResultWrap .searchDetailsHeaderLabel {
  float: left;
  font-style: italic;
  color: #6e6e6e;
}

.moduleSearchWrap {
  background: url(Images/ModuleSearch/ModuleSearch.png) no-repeat right top;
  height: 34px;
  padding: 0 6px 0 61px;
  position: relative;
}
.moduleSearchWrap .bgImage {
  background: url(Images/ModuleSearch/ModuleSearch.png) no-repeat;
}
.moduleSearchWrap .txtSearchWrap {
  background-position: 0 -34px;
  background-repeat: repeat-x;
  height: 34px;
  direction: rtl;
}
.moduleSearchWrap .txtSearchWrap input {
  margin: 7px 0 0;
  padding: 0;
  width: 100%;
  height: 22px;
  border: 0;
  background: none;
  color: black;
  outline: 0;
}
.moduleSearchWrap .dropDownWrap {
  overflow: hidden;
  background-position: right -68px;
  height: 23px;
  border-left: 1px solid #ddd;
  padding: 2px 8px;
  position: absolute;
  top: 5px;
  right: 3px;
}
.moduleSearchWrap .dropDownWrap span {
  display: inline-block;
}
.moduleSearchWrap .dropDownWrap .arrowDown {
  background-position: -81px -5px;
  width: 9px;
  margin: 0 11px 0 5px;
  height: 7px;
}
.moduleSearchWrap .dropDownWrap .moduleSearchSelect {
  opacity: 0;
  height: 29px;
  cursor: pointer;
  visibility: visible;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  color: black;
  background: none;
  outline: 0;
  position: absolute;
  top: 0;
  right: 0;
}
.moduleSearchWrap .moduleSearchSubmit {
  background-position: 0 0;
  width: 55px;
  height: 34px;
  text-align: center;
  padding-right: 5px;
  position: absolute;
  top: 0;
  left: 0;
}
.moduleSearchWrap .moduleSearchSubmit .btnSubmit {
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: #fff;
  height: 34px;
  width: 39px;
  cursor: pointer;
  line-height: 18px;
}

.smallModuleSearchWrap {
  background: url(Images/ModuleSearch/SmallModuleSearch.png) no-repeat right top;
  height: 22px;
  padding: 0 6px 0 27px;
  position: relative;
}
.smallModuleSearchWrap .bgImage {
  background: url(Images/ModuleSearch/SmallModuleSearch.png) no-repeat;
}
.smallModuleSearchWrap .txtSearchWrap {
  background-position: 0 -22px;
  background-repeat: repeat-x;
  height: 22px;
  direction: rtl;
}
.smallModuleSearchWrap .txtSearchWrap input {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 22px;
  border: 0;
  font-size: 0.9rem;
  background: none;
  color: black;
  outline: 0;
  line-height: 16px;
}
.smallModuleSearchWrap .dropDownWrap {
  overflow: hidden;
  background-position: right -44px;
  height: 17px;
  border-left: 1px solid #ddd;
  padding: 0 5px;
  position: absolute;
  top: 3px;
  right: 3px;
}
.smallModuleSearchWrap .dropDownWrap span {
  display: inline-block;
  font-size: 0.9rem;
  line-height: 17px;
  vertical-align: top;
  height: 15px;
}
.smallModuleSearchWrap .dropDownWrap .arrowDown {
  background-position: -33px 0;
  width: 7px;
  margin: 0;
}
.smallModuleSearchWrap .dropDownWrap .moduleSearchSelect {
  opacity: 0;
  height: 17px;
  line-height: 17px;
  cursor: pointer;
  visibility: visible;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 1px solid #ddd;
  color: black;
  background: none;
  background-attachment: scroll;
  background-clip: border-box;
  background-size: auto;
  background-origin: padding-box;
  outline: 0;
  vertical-align: bottom;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999999;
}
.smallModuleSearchWrap .moduleSearchSubmit {
  background-position: 0 0;
  width: 21px;
  height: 22px;
  text-align: center;
  padding-right: 6px;
  position: absolute;
  top: 0;
  left: 0;
}
.smallModuleSearchWrap .moduleSearchSubmit .btnSubmit {
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  color: transparent;
  height: 22px;
  width: 21px;
  cursor: pointer;
}

/***************************************************
Language                   
***************************************************/
.selectLanguageWrap {
  text-align: left;
  padding: 12px 0;
}
.selectLanguageWrap ul {
  margin: 0;
}
.selectLanguageWrap ul li {
  display: inline-block;
  margin: 0 3px;
}
.selectLanguageWrap ul li a {
  color: #333;
  margin: 0 3px;
}
.selectLanguageWrap ul li:last-child a:after {
  content: none;
}

/***************************************************
Tools                   
***************************************************/
.generalToolsBox {
  float: left;
}
.generalToolsBox > div {
  width: 32px;
  height: 32px;
  display: inline-block;
  float: left;
  padding: 5px;
  border-radius: 50%;
  text-align: center;
  -webkit-transition: all 0.4s;
  -moz-transition: all 0.4s;
  transition: all 0.4s;
  cursor: pointer;
}
.generalToolsBox > div:hover {
  background: #4fc0e8;
}
.generalToolsBox a {
  color: #262c44;
  font-size: 1.4rem;
  -webkit-transition: color 1s;
  -moz-transition: color 1s;
  transition: color 1s;
}
.generalToolsBox .glyphicon {
  padding: 0 2px;
}
.generalToolsBox .socialNetworkItemWrap a .glyphicon {
  padding: 0;
}

.tellafriendPage .formLabel {
  width: 110px;
}

/***************************************************
Social Network                   
***************************************************/
.socialNetworksWrapper {
  display: table;
}
.socialNetworksWrapper ul {
  padding: 0;
}
.socialNetworksWrapper ul li {
  list-style: none;
  display: inline-block;
}
.socialNetworksWrapper ul li a {
  color: #4fc0ea;
  font-size: 0;
}
.socialNetworksWrapper ul li a .glyphicon {
  font-size: 27px;
  color: #4fc0ea;
}

.soicalBoxFix:hover {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.soicalBoxFix:focus-within {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.soicalBoxFix {
  position: fixed;
  top: 100px;
  left: 0;
  z-index: 10000;
  max-width: 330px;
  padding: 0;
  -webkit-transform: translateX(-200px);
  -moz-transform: translateX(-200px);
  -ms-transform: translateX(-200px);
  transform: translateX(-200px);
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
.soicalBoxFix .panel-style1.panel {
  background-color: transparent;
  border-radius: 0;
  margin-bottom: 0;
  padding: 0;
}
.soicalBoxFix .panel-style1.panel .panel-body {
  background-color: transparent;
  border-radius: 0;
  border: solid 1px transparent;
  padding: 0;
}
.soicalBoxFix .panel-style1.panel .panel-heading {
  background-color: transparent;
}
.soicalBoxFix .panel-style1.panel .panel-heading .box-title {
  position: absolute;
  left: 110px;
  top: 58%;
  color: #FFFFFF;
  background: #85182C;
  font-size: 15px;
  font-weight: bold;
  border-radius: 0 0 12px 12px;
  margin: 0;
  -webkit-transform: rotate(-90deg) translate(50%, -100%);
  -moz-transform: rotate(-90deg) translate(50%, -100%);
  -ms-transform: rotate(-90deg) translate(50%, -100%);
  transform: rotate(-90deg) translate(50%, -100%);
  -webkit-transform-origin: 100% 0;
  -moz-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
  cursor: pointer;
  width: 145px;
  height: 55px;
}
.soicalBoxFix .panel-style1.panel .panel-heading .box-title,.soicalBoxFix .socialNetworksWrapper ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.soicalBoxFix .socialNetworksWrapper ul {
  width: 200px;
  background: #fff;
  padding: 10px 0;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  height: 145px;
}
.soicalBoxFix .socialNetworksWrapper ul .linkedinWrapper {
  -webkit-box-ordinal-group: 2;
  -moz-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
.soicalBoxFix .socialNetworksWrapper ul .baleWrapper {
  -webkit-box-ordinal-group: 8;
  -moz-box-ordinal-group: 8;
  -ms-flex-order: 7;
  order: 7;
}
.soicalBoxFix .socialNetworksWrapper ul .aparatWrapper {
  -webkit-box-ordinal-group: 6;
  -moz-box-ordinal-group: 6;
  -ms-flex-order: 5;
  order: 5;
}
.soicalBoxFix .socialNetworksWrapper ul .soroushWrapper {
  -webkit-box-ordinal-group: 7;
  -moz-box-ordinal-group: 7;
  -ms-flex-order: 6;
  order: 6;
}
.soicalBoxFix .socialNetworksWrapper ul .telegramWrapper {
  -webkit-box-ordinal-group: 4;
  -moz-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}
.soicalBoxFix .socialNetworksWrapper ul .whatsappWrapper {
  -webkit-box-ordinal-group: 3;
  -moz-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
.soicalBoxFix .socialNetworksWrapper ul .instagramWrapper {
  -webkit-box-ordinal-group: 5;
  -moz-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}
.soicalBoxFix .socialNetworksWrapper ul .eitaaWrapper {
  -webkit-box-ordinal-group: 9;
  -moz-box-ordinal-group: 9;
  -ms-flex-order: 8;
  order: 8;
}
.soicalBoxFix .socialNetworksWrapper ul li {
  list-style: none;
  display: inline-block;
  margin: 0 12px;
}
.soicalBoxFix .socialNetworksWrapper ul li a {
  font-size: 0;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 24px;
  height: 24px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-soroush::before {
  color: #3288A1;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-whatsapp::before {
  color: #45C339;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-telegram::before {
  content: "\e749";
  color: #1B92D1;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-aparat::before {
  color: #DD165F;
  content: "\e701";
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-instagram::before {
  color: #E31375;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-linkedin::before {
  content: "\e892";
  color: #3182DF;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-bale::before {
  color: #09BA8B;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon-eitaa::before {
  color: #FF750C;
}
.soicalBoxFix .socialNetworksWrapper ul li a .glyphicon {
  font-size: 27px;
}

/***************************************************
SwitchBar                   
***************************************************/
#generalSwitchBarWrapper {
  padding: 10px 0;
  margin-bottom: 10px;
  list-style: none;
  background-color: transparent;
}

.switchBar {
  margin: 0 auto;
  color: #6a6a6a;
  font-size: 1.2rem;
  line-height: 23px;
}
.switchBar a {
  color: #6a6a6a;
  text-decoration: none;
  font-family: "SDF";
  font-size: 1.19rem;
  position: relative;
}
.switchBar a:hover {
  color: #000;
  text-decoration: none;
}
.switchBar > span {
  padding: 0px 5px;
}

.switchBarSelected {
  color: #58585a;
}
.switchBarSelected:link, .switchBarSelected:visited, .switchBarSelected:active {
  color: #4fc0ea;
  text-decoration: none;
}

/**********************Breadcrumb**************************/
.breadcrumb {
  padding: 5px 0;
  margin-bottom: 10px;
  list-style: none;
  background-color: transparent;
}
.breadcrumb > li + li:before {
  padding: 0;
  font-size: 1.2rem;
  color: #6a6a6a;
}
.breadcrumb > li > a {
  font-size: 1.2rem;
  color: #6a6a6a;
  line-height: 23px;
  font-family: "SDF";
}
.breadcrumb > li > a:hover, .breadcrumb > li > a:active {
  color: #4fc0ea;
  text-decoration: none;
}

/***************************************************
Page Navigate                   
***************************************************/
.goToTop {
  width: 46px;
  height: 46px;
  overflow: hidden;
  position: fixed;
  bottom: 6%;
  left: 3%;
  z-index: 999;
  padding: 12px;
  display: none;
  -webkit-box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.5);
  border-radius: 31px;
  color: #fff;
  background: #4fc0ea;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  transition: all 1s ease;
}
.goToTop:hover {
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.5);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.goToTop:after {
  content: "\e80f";
  display: block;
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  transition: 0.6s;
  font: normal 0.8em/27px "Glyphicons Halflings";
  text-align: center;
  color: #fff;
}

/************ Start Of Linear Footer *************/
.linearFooter {
  padding: 15px 0;
  text-align: center;
}
.linearFooter ul {
  margin: 0;
  padding: 0;
}
.linearFooter ul li {
  display: inline-block;
  list-style: none;
  padding: 5px 0;
}
.linearFooter ul li a {
  color: #fff;
  -webkit-transition: 0.4s all;
  -moz-transition: 0.4s all;
  transition: 0.4s all;
}
.linearFooter ul li a:hover {
  color: #50c1e9;
}
.linearFooter ul li:after {
  content: "●";
  display: inline-block;
  padding: 0 15px;
  color: #7582b1;
}
.linearFooter ul li:last-child:after {
  content: none;
}

/*************** Genral Footer Links ***************/
.footerNav .footerItem {
  padding: 20px 0;
}
.footerNav .footerItem h5 a {
  color: #4fc1e9;
  font-weight: bold;
}
.footerNav .footerItem h5 a:hover {
  color: #fff;
}
.footerNav ul {
  padding-right: 12px;
}
.footerNav ul li {
  list-style: none;
}
.footerNav ul li a {
  font-size: 1.19rem;
  color: #fff;
  display: inline-block;
  padding: 4px 0;
}

.generalPoweredBy {
  color: #acacac;
  font-size: 1.2rem;
}
.generalPoweredBy a {
  -webkit-transition: all 400ms ease-in-out;
  -moz-transition: all 400ms ease-in-out;
  transition: all 400ms ease-in-out;
  color: #acacac;
  text-decoration: none !important;
}
.generalPoweredBy a:hover {
  color: #e4e4e4;
}

/************ Start Of Box Style *************/
.accordion-toggle {
  cursor: pointer;
}

/************ Start Of Panel-Styles *************/
.panel-style1.panel {
  background-color: #394263;
  border: 0;
  border-radius: 5px;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-style1 > .panel-heading {
  background-color: #394263;
  border-radius: 0;
  border: 0;
  text-align: right;
}
.panel-style1 > .panel-heading > h1, .panel-style1 > .panel-heading > a > h1, .panel-style1 > .panel-heading > h2, .panel-style1 > .panel-heading > a > h2, .panel-style1 > .panel-heading > h3, .panel-style1 > .panel-heading > a > h3, .panel-style1 > .panel-heading > h4, .panel-style1 > .panel-heading > a > h4, .panel-style1 > .panel-heading > h5, .panel-style1 > .panel-heading > a > h5, .panel-style1 > .panel-heading > h6, .panel-style1 > .panel-heading > a > h6,
.panel-style1 > .panel-heading a > span:not(.glyphicon), .panel-style1 > .panel-heading span:not(.glyphicon),
.panel-style1 > .panel-heading p, .panel-style1 > .panel-heading a > p {
  font: normal normal 1.4rem "SDF", Tahoma;
  font-weight: bold;
  margin: 0;
  color: #fff;
  float: right;
}
.panel-style1 > .panel-heading .glyphicon {
  float: right;
  font-size: 2.2rem;
  color: #4fc0ea;
  top: 0;
  display: inline-block;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin-left: 10px;
}
.panel-style1 > .panel-heading .glyphicon:hover {
  color: #7582b1;
}
.panel-style1 > .panel-heading .moreTitle {
  font-size: 1.4rem;
  color: #deedf3;
  background: #7582b1;
  border: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 5px;
  padding: 0 10px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.panel-style1 > .panel-heading .moreTitle:hover {
  color: #4fc0ea;
  background: #394263;
  border-color: transparent;
}
.panel-style1 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px transparent;
}
.panel-style1 > .panel-body .boxLastUpdate {
  color: transparent;
  font-size: 1.4rem;
  text-align: right;
}
.panel-style1 {
  padding: 4px;
}
.panel-style1 > .panel-heading {
  display: inline-block;
  width: 100%;
}

/*-----------------------*/
.panel-style2.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-style2 > .panel-heading {
  background-color: #a8bc7b;
  border-radius: 0;
  border: 0;
  text-align: right;
}
.panel-style2 > .panel-heading > h1, .panel-style2 > .panel-heading > a > h1, .panel-style2 > .panel-heading > h2, .panel-style2 > .panel-heading > a > h2, .panel-style2 > .panel-heading > h3, .panel-style2 > .panel-heading > a > h3, .panel-style2 > .panel-heading > h4, .panel-style2 > .panel-heading > a > h4, .panel-style2 > .panel-heading > h5, .panel-style2 > .panel-heading > a > h5, .panel-style2 > .panel-heading > h6, .panel-style2 > .panel-heading > a > h6,
.panel-style2 > .panel-heading a > span:not(.glyphicon), .panel-style2 > .panel-heading span:not(.glyphicon),
.panel-style2 > .panel-heading p, .panel-style2 > .panel-heading a > p {
  font: normal normal 1.4rem "SDF", Tahoma;
  font-weight: bold;
  margin: 0;
  color: #fff;
  float: right;
}
.panel-style2 > .panel-heading .glyphicon {
  float: right;
  font-size: 2.2rem;
  color: #4fc0ea;
  top: 0;
  display: inline-block;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin-left: 10px;
}
.panel-style2 > .panel-heading .glyphicon:hover {
  color: #7582b1;
}
.panel-style2 > .panel-heading .moreTitle {
  font-size: 1.4rem;
  color: #deedf3;
  background: #7582b1;
  border: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 5px;
  padding: 0 10px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.panel-style2 > .panel-heading .moreTitle:hover {
  color: #4fc0ea;
  background: #394263;
  border-color: transparent;
}
.panel-style2 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #a8bc7b;
}
.panel-style2 > .panel-body .boxLastUpdate {
  color: transparent;
  font-size: 1.4rem;
  text-align: right;
}

/*-----------------------*/
.panel-style3.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-style3 > .panel-heading {
  background-color: #dbdbdb;
  border-radius: 0;
  border: 0;
  text-align: right;
}
.panel-style3 > .panel-heading > h1, .panel-style3 > .panel-heading > a > h1, .panel-style3 > .panel-heading > h2, .panel-style3 > .panel-heading > a > h2, .panel-style3 > .panel-heading > h3, .panel-style3 > .panel-heading > a > h3, .panel-style3 > .panel-heading > h4, .panel-style3 > .panel-heading > a > h4, .panel-style3 > .panel-heading > h5, .panel-style3 > .panel-heading > a > h5, .panel-style3 > .panel-heading > h6, .panel-style3 > .panel-heading > a > h6,
.panel-style3 > .panel-heading a > span:not(.glyphicon), .panel-style3 > .panel-heading span:not(.glyphicon),
.panel-style3 > .panel-heading p, .panel-style3 > .panel-heading a > p {
  font: normal normal 1.4rem "SDF", Tahoma;
  font-weight: bold;
  margin: 0;
  color: #fff;
  float: right;
}
.panel-style3 > .panel-heading .glyphicon {
  float: right;
  font-size: 2.2rem;
  color: #4fc0ea;
  top: 0;
  display: inline-block;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin-left: 10px;
}
.panel-style3 > .panel-heading .glyphicon:hover {
  color: #7582b1;
}
.panel-style3 > .panel-heading .moreTitle {
  font-size: 1.4rem;
  color: #deedf3;
  background: #7582b1;
  border: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 5px;
  padding: 0 10px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.panel-style3 > .panel-heading .moreTitle:hover {
  color: #4fc0ea;
  background: #394263;
  border-color: transparent;
}
.panel-style3 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #dbdbdb;
}
.panel-style3 > .panel-body .boxLastUpdate {
  color: transparent;
  font-size: 1.4rem;
  text-align: left;
}

/*-----------------------*/
.panel-style4.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-style4 > .panel-heading {
  background-color: #5e87b0;
  border-radius: 0;
  border: 0;
  text-align: right;
}
.panel-style4 > .panel-heading > h1, .panel-style4 > .panel-heading > a > h1, .panel-style4 > .panel-heading > h2, .panel-style4 > .panel-heading > a > h2, .panel-style4 > .panel-heading > h3, .panel-style4 > .panel-heading > a > h3, .panel-style4 > .panel-heading > h4, .panel-style4 > .panel-heading > a > h4, .panel-style4 > .panel-heading > h5, .panel-style4 > .panel-heading > a > h5, .panel-style4 > .panel-heading > h6, .panel-style4 > .panel-heading > a > h6,
.panel-style4 > .panel-heading a > span:not(.glyphicon), .panel-style4 > .panel-heading span:not(.glyphicon),
.panel-style4 > .panel-heading p, .panel-style4 > .panel-heading a > p {
  font: normal normal 1.4rem "SDF", Tahoma;
  font-weight: bold;
  margin: 0;
  color: #fff;
  float: right;
}
.panel-style4 > .panel-heading .glyphicon {
  float: right;
  font-size: 2.2rem;
  color: #4fc0ea;
  top: 0;
  display: inline-block;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin-left: 10px;
}
.panel-style4 > .panel-heading .glyphicon:hover {
  color: #7582b1;
}
.panel-style4 > .panel-heading .moreTitle {
  font-size: 1.4rem;
  color: #deedf3;
  background: #7582b1;
  border: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 5px;
  padding: 0 10px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.panel-style4 > .panel-heading .moreTitle:hover {
  color: #4fc0ea;
  background: #394263;
  border-color: transparent;
}
.panel-style4 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #5e87b0;
}
.panel-style4 > .panel-body .boxLastUpdate {
  color: #000;
  font-size: 1.4rem;
  text-align: right;
}

/*-----------------------*/
.panel-style5.panel {
  background-color: #fff;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.panel-style5 > .panel-heading {
  background-color: #d9534f;
  border-radius: 0;
  border: 0;
  text-align: right;
}
.panel-style5 > .panel-heading > h1, .panel-style5 > .panel-heading > a > h1, .panel-style5 > .panel-heading > h2, .panel-style5 > .panel-heading > a > h2, .panel-style5 > .panel-heading > h3, .panel-style5 > .panel-heading > a > h3, .panel-style5 > .panel-heading > h4, .panel-style5 > .panel-heading > a > h4, .panel-style5 > .panel-heading > h5, .panel-style5 > .panel-heading > a > h5, .panel-style5 > .panel-heading > h6, .panel-style5 > .panel-heading > a > h6,
.panel-style5 > .panel-heading a > span:not(.glyphicon), .panel-style5 > .panel-heading span:not(.glyphicon),
.panel-style5 > .panel-heading p, .panel-style5 > .panel-heading a > p {
  font: normal normal 1.4rem "SDF", Tahoma;
  font-weight: bold;
  margin: 0;
  color: #fff;
  float: right;
}
.panel-style5 > .panel-heading .glyphicon {
  float: right;
  font-size: 2.2rem;
  color: #4fc0ea;
  top: 0;
  display: inline-block;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  margin-left: 10px;
}
.panel-style5 > .panel-heading .glyphicon:hover {
  color: #7582b1;
}
.panel-style5 > .panel-heading .moreTitle {
  font-size: 1.4rem;
  color: #deedf3;
  background: #7582b1;
  border: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 5px;
  padding: 0 10px;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
}
.panel-style5 > .panel-heading .moreTitle:hover {
  color: #4fc0ea;
  background: #394263;
  border-color: transparent;
}
.panel-style5 > .panel-body {
  background-color: #fff;
  border-radius: 0;
  border: solid 1px #d9534f;
}
.panel-style5 > .panel-body .boxLastUpdate {
  color: transparent;
  font-size: 1.4rem;
  text-align: left;
}

/*-----------------------*/
/***** Panel Options */
.panel-heading .title-block {
  display: inline-block;
  margin: 0;
  padding: 7px 16px;
  font-weight: bold;
  font-size: 1em !important;
  line-height: 1.9 !important;
  min-height: 37px;
}
.panel-heading .title-block .accordion-caret {
  cursor: pointer;
}

.panel-options {
  margin: 6px;
}
.panel-options .btn {
  border-radius: 15px;
  padding-right: 8px;
  padding-left: 6px;
  min-width: 30px;
  text-align: center;
}
.panel-options .btn-tools, .panel-options .btn-tools:focus {
  background-color: #fff;
  color: #1bbae1;
  border-color: #1bbae1;
  background-image: none;
}
.panel-options .btn-tools.active, .panel-options .btn-tools.active:focus, .panel-options .btn-tools:hover {
  background-color: #1bbae1;
  border-color: #1bbae1;
  color: #fff;
}

.panel-options .btn-shortcut .glyphicon,
.panel-options .btn-tools .glyphicon {
  font-size: 1.3em;
}

/************ Start Of Tab Style *************/
/************ Tab Style1 *************/
.tab-container-style1 {
  margin-bottom: 15px;
}
.tab-container-style1 .nav-tabs {
  padding: 10px 10px 0 10px;
  border-radius: 6px 6px 0 0;
  background: #394263;
}
.tab-container-style1 .nav-tabs > li > a {
  color: #fff;
  border: none;
}
.tab-container-style1 .nav-tabs > li > a .glyphicon {
  top: 4px !important;
  padding-left: 7px;
}
.tab-container-style1 .nav-tabs > li > a:hover {
  border: none;
  background: none;
}
.tab-container-style1 .nav-tabs > li.active a {
  color: #394263;
}
.tab-container-style1 .nav-tabs > li.active a:hover, .tab-container-style1 .nav-tabs > li.active a:focus {
  color: #262c44;
  background: #fff;
  border: none;
  outline: none;
}
.tab-container-style1 .tab-content .tab-pane {
  padding: 15px;
}

/************* Tab Mobile Style **************/
/************ End Of Tab Style *************/
.table-hover > tbody > tr:not(.gridHeader):hover {
  background: #4fc0ea !important;
}
.table-hover > tbody > tr.innerGridWrapper:hover,.table-hover > tbody > tr.pagerCustomGrid:hover {
  background: rgb(242.25, 242.25, 242.25) !important;
}

/********************************Gray Skin**************************************/
.graySkin.table-striped > tbody > tr:nth-child(2n+1), .graySkin.table-striped > tbody > tr:hover {
  background: #dfdfdf;
}

.graySkin.gridHeader {
  background: #dfdfdf !important;
}

/*******************************************************************************/
.innerGridWrapper {
  background: rgb(242.25, 242.25, 242.25) !important;
}

.innerGrid {
  border: 2px solid #d2d2d2 !important;
  -webkit-box-shadow: 0 0 20px #909090;
  box-shadow: 0 0 20px #909090;
}
.innerGrid.table-striped > tbody > tr:nth-child(odd) {
  background: #f3f3f3 !important;
}
.innerGrid.table-striped > tbody > tr:hover:nth-child(2n+1) {
  background: #4fc0ea !important;
}

.innerGrid .innerGrid .gridHeader,.gridHeader th {
  background: #e6e6e6 !important;
}

.gridHeader th {
  border-bottom: 2px solid #d2d2d2;
  border-top: 0 !important;
}
.gridHeader th .glyphicon {
  font-size: 1.75rem;
}

/***************************************************
Pager                   
***************************************************/
.col-centered {
  float: none;
  margin: 0 auto;
}

tr.pagerCustomGrid {
  background: #f0f3f6;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #f0f3f6), to(#e0e3ea));
  background: -moz-linear-gradient(top, #f0f3f6 0, #e0e3ea 100%);
  background: linear-gradient(to bottom, #f0f3f6 0, #e0e3ea 100%);
  -webkit-box-shadow: inset 0 0 0 1px #f9fafb;
  box-shadow: inset 0 0 0 1px #f9fafb;
}

.pagerCustomGrid td {
  padding: 0;
}
.pagerCustomGrid span {
  color: #373737;
  padding: 0 2px;
  height: 15px;
}

.pagerCustomGridTable {
  direction: ltr;
  border: 1px solid #d0d6e0;
  -webkit-box-shadow: 0 0 0 1px #fff;
  box-shadow: 0 0 0 1px #fff;
}

.pagerCustomGridTable td,.pagerCustomGridCountTable td {
  padding: 6px;
}

.pagerCustomGridNumbers {
  color: #2b3a4a;
  unicode-bidi: bidi-override;
  text-align: center !important;
}

.pagerCustomGridNumbers span,a.pagerCustomGrid:link,a.pagerCustomGrid:active,a.pagerCustomGrid:visited,a.pagerCustomGridNext,a.pagerCustomGridPrev {
  display: inline-block;
  min-width: 16px;
  height: 18px;
  padding: 0 2px;
  color: #5c6b89;
  vertical-align: middle;
}

a.pagerCustomGrid:link,
a.pagerCustomGrid:active,
a.pagerCustomGrid:visited,
a.pagerCustomGridNext,
a.pagerCustomGridPrev {
  border: 1px solid #5c6b89;
  border-radius: 3px;
  line-height: 18px;
  text-align: center;
}

a.pagerCustomGrid:hover,
a.pagerCustomGridNext:hover,
a.pagerCustomGridPrev:hover {
  background-color: #9ea5b3;
  color: #fff;
}

.pagerNumberText {
  text-decoration: none;
  line-height: 18px;
  color: #373737;
  unicode-bidi: embed;
}

.pagerNumberText,.pagerCellDir {
  direction: rtl;
}

.pagerCustomGridCell {
  direction: rtl;
  width: 110px;
  white-space: nowrap;
  text-align: left;
}
.pagerCustomGridCell .select {
  width: 55px;
}

.pagerCustomGridCellGoto {
  width: 110px;
  white-space: nowrap;
  text-align: right;
}
.pagerCustomGridCellGoto .textbox {
  width: 55px;
}
/************ Start Of Pager Wrapper *************/
.notify .form-control-feedback {
  width: 22px;
  height: 22px;
  top: 6px;
  margin-left: 5px;
}
.notify .has-feedback .tooltip.bottom .tooltip-arrow {
  border: 0 !important;
  border-width: 0 !important;
}
.notify .has-feedback .tooltip.bottom .tooltip-arrow:after {
  content: "";
  position: absolute;
  top: 2px;
  left: -4px;
  z-index: 2;
  margin-left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 0 20px;
  border-color: transparent transparent transparent #ffffa3;
}
.notify .has-feedback .tooltip.bottom .tooltip-arrow:before {
  content: "";
  position: absolute;
  top: 0;
  left: -5px;
  margin-left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 0 15px;
  border-color: transparent transparent transparent #f1d031;
}
.notify .has-feedback .tooltip-inner {
  max-width: 250px;
  padding: 3px 8px;
  color: #9a5574;
  text-align: center;
  text-decoration: none;
  background-color: #ffffa3;
  border-radius: 1px;
  border: 1px solid #f1d031;
  -webkit-box-shadow: 3px 3px 4px 0 rgba(221, 221, 221, 0.84);
  box-shadow: 3px 3px 4px 0 rgba(221, 221, 221, 0.84);
  font-size: 1.18em;
  position: absolute;
  left: 0;
}

/***************************************************
Basic Style                   
* These styles are required for noUiSlider to function.
* You don't need to change these rules to apply your design.
**************************************************/
.noUi-target {
  position: relative;
  direction: ltr;
}
.noUi-target, .noUi-target * {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-touch-action: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.noUi-base {
  width: 100%;
  height: 100%;
  position: relative;
}

.noUi-origin {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.noUi-handle {
  position: relative;
  z-index: 1;
}

.noUi-stacking .noUi-handle {
  /* This class is applied to the lower origin when
  its values is > 50%. */
  z-index: 10;
}

.noUi-stacking + .noUi-origin {
  /* Fix stacking order in IE7, which incorrectly
  creates a new context for the origins. */
  z-index: -1;
}

.noUi-state-tap .noUi-origin {
  -webkit-transition: left 0.3s, top 0.3s;
  -moz-transition: left 0.3s, top 0.3s;
  transition: left 0.3s, top 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

/************ Painting and performance;
* Browsers can paint handles in their own layer. *************/
.noUi-base {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/************ Slider size and handle placement *************/
.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  width: 34px;
  height: 28px;
  left: -17px;
  top: -6px;
}

.noUi-vertical {
  width: 18px;
}
.noUi-vertical .noUi-handle {
  width: 28px;
  height: 34px;
  left: -6px;
  top: -17px;
}

/************ Styling *************/
.noUi-background {
  background: #FAFAFA;
  -webkit-box-shadow: inset 0 1px 1px #f0f0f0;
  box-shadow: inset 0 1px 1px #f0f0f0;
}

.noUi-connect {
  background: #3FB8AF;
  -webkit-box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
  -webkit-transition: background 450ms;
  -moz-transition: background 450ms;
  transition: background 450ms;
}

.noUi-origin {
  border-radius: 2px;
}

.noUi-target {
  border-radius: 4px;
  border: 1px solid #D3D3D3;
  -webkit-box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
  box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-target.noUi-connect {
  -webkit-box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45), 0 3px 6px -5px #BBB;
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45), 0 3px 6px -5px #BBB;
}

.rangeSliderWrapper .valueUpper, .rangeSliderWrapper .valueLower {
  display: block;
  padding-top: 10px;
}

.rangeSliderWrapper .noUi-connect {
  background: #80C9F5;
  -webkit-box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
  box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
}

/************ Handles And Cursors *************/
.noUi-dragable {
  cursor: w-resize;
}

.noUi-vertical .noUi-dragable {
  cursor: n-resize;
}

.noUi-handle {
  border: 1px solid #D9D9D9;
  border-radius: 3px;
  background: #FFF;
  cursor: default;
  -webkit-box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
  -webkit-box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
  box-shadow: inset 0 0 1px #fff, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

/************ Handle Strips *************/
.noUi-handle:before,
.noUi-handle:after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 16px;
  height: 14px;
  width: 1px;
  background: #E8E7E6;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:before, .noUi-vertical .noUi-handle:after {
  width: 14px;
  height: 1px;
  left: 6px;
  top: 14px;
}
.noUi-vertical .noUi-handle:after {
  top: 17px;
}

/************ Disabled Style *************/
[disabled] .noUi-handle {
  cursor: not-allowed;
}
[disabled].noUi-connect, [disabled] .noUi-connect {
  background: #B8B8B8;
}

/*@import "Partials/Buttons";*/
/***************************************************
Media Query                   
***************************************************/
.color1 .headerBottom {
  background: #262c44;
}
.color1 .mainHeaderWrap {
  border-top: 6px solid #313854;
}
.color1 .generalSearchBox .input-group {
  background: #394263;
}
.color1 .panel-style1.panel,.color1 .panel-style1 > .panel-heading {
  background-color: #394263;
}
.color1 .menu3dmega > ul li:hover, .color1 .menu3dmega > ul li.current {
  background: #394263 !important;
}
.color1 .mainFooterWrap {
  background: #394263;
}
.color1 .goToTop {
  background: #4fc0ea;
}
.color1 .radcomCopyrightAndLogo {
  background: #262c44;
}

.color2 .headerBottom {
  background: #000;
}
.color2 .mainHeaderWrap {
  border-top: 6px solid #000;
}
.color2 .radcomCopyrightAndLogo,.color2 .panel-style1.panel,.color2 .panel-style1 > .panel-heading {
  background: #000;
}
.color2 .menu3dmega > ul li:hover, .color2 .menu3dmega > ul li.current {
  background: #000 !important;
}
.color2 .mainFooterWrap {
  background: #171717;
}
.color2 .goToTop {
  background: #808080;
}

.color3 .headerBottom {
  background: red;
}

/*-----------------------*/
.color-picker2 .headerBottom, .color-picker2 .mainFooterWrap, .color-picker2 .panel-style1 > .panel-heading,
.color-picker2 .menu3dmega > ul li:hover, .color-picker2 .menu3dmega > ul li.current {
  color: #fff !important;
  background: #0f5094 !important;
}

/*-----------------------*/
.color-picker3 .headerBottom, .color-picker3 .mainFooterWrap, .color-picker3 .panel-style1 > .panel-heading,
.color-picker3 .menu3dmega > ul li:hover, .color-picker3 .menu3dmega > ul li.current {
  color: #fff !important;
  background: #450856 !important;
}

/*-----------------------*/
.color-picker4 .headerBottom, .color-picker4 .mainFooterWrap, .color-picker4 .panel-style1 > .panel-heading,
.color-picker4 .menu3dmega > ul li:hover, .color-picker4 .menu3dmega > ul li.current {
  color: #fff !important;
  background: #276f09 !important;
}

/*-----------------------*/

@media (min-width: 480px) and (max-width: 767px) {
  .menu3dmega.responsive > ul > li, .menu3dmega.responsive li.menu-non-dropdown {
    width: 50%;
  }
  .menu3dmega.responsive .wp-non-dropdown {
    width: auto;
  }
  .menu3dmega.responsive > ul > li > div {
    width: 100%;
    left: 0;
  }
}

@media (min-width: 767px) and (max-width: 1199px) {
  .eco-search-box .input-group .searchTextBox,.eco-search-boxIndustry .input-group .searchTextBox,.eco-search-boxNew .input-group .searchTextBox {
    width: 500px;
  }
}

@media (min-width: 768px) {
  .has-image .content {
    width: 600px;
  }
  .menu3dmega.responsive .menuToggle {
    display: none;
  }
  .menu3dmega.responsive > ul {
    display: table !important;
    width: 100%;
  }
  /**************** Start Of VERTICAL STYLE ONLY SCREEN **********************/
  .menu3dmega.vertical {
    width: 100%;
    /****************** (((IN RTL VERSION))) Float Changed To Right ******************/
    float: right;
  }
  .menu3dmega.vertical .dropdown-menu.flyout-menu {
    width: auto;
  }
  .menu3dmega.vertical .dropdown-menu {
    max-width: 800px;
    top: 0;
    right: 100% !important;
  }
  .menu3dmega.vertical > ul > li {
    position: relative;
  }
  .menu3dmega.vertical span.arrow-icon-bottom:after {
    border: solid #333;
    border-width: 0 1px 1px 0;
  }
  .menu3dmega.vertical span.arrow-icon-bottom:after,.menu3dmega.vertical li:hover span.arrow-icon-bottom:after {
    display: inline-block;
    padding: 2px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .menu3dmega.vertical li:hover span.arrow-icon-bottom:after {
    border: solid #fff;
    border-width: 0 1px 1px 0;
  }
  .menu3dmega.vertical > ul > li {
    border-left: none !important;
    border-right: none !important;
  }
  .navbar-right.sf-horizontal ul ul.dropdown-menu {
    margin-top: -39.9px !important;
    min-width: 100% !important;
    position: absolute;
    top: 0 !important;
    right: 100% !important;
    left: auto !important;
  }
}

@media (max-width: 767px) {
  .animatable {
    visibility: visible;
  }
  .dropdown-menu {
    width: 100%;
  }
  .menu3dmega li .sub {
    right: 0 !important;
  }
  .menu3dmega > ul li > a {
    display: block !important;
  }
  .menu3dmega > ul li > a.has-submenu:before {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 4px 0 4px;
    border-color: #000333 transparent transparent transparent;
    position: absolute;
    top: 50%;
    left: 10px;
    content: "";
    margin-top: -4px;
  }
  .menu3dmega > ul ul li > a.has-submenu:before {
    border-color: #fff transparent transparent transparent;
  }
  .menu3dmega > ul li > a.has-submenu:hover:before {
    border-color: #526dd0 transparent transparent transparent;
  }
  .menu3dmega.responsive {
    border: none !important;
  }
  .menu3dmega.responsive .menuToggle {
    display: block;
  }
  .menu3dmega.responsive > ul {
    display: none;
  }
  .menu3dmega.responsive .contact-form input[type=text], .menu3dmega.responsive .contact-form textarea {
    width: 98%;
  }
  .menu3dmega.responsive > ul > li > a, .menu3dmega.responsive > ul > li > .arrow-icon, .menu3dmega.responsive > ul > li > .arrow-icon-bottom {
    position: relative;
    color: #000;
  }
  .menu3dmega.responsive li > .arrow-icon:after {
    border: solid #fff;
    border-width: 0 1px 1px 0;
    padding: 2px;
    -webkit-transform: rotate(45deg) !important;
    -moz-transform: rotate(45deg) !important;
    -ms-transform: rotate(45deg) !important;
    transform: rotate(45deg) !important;
    /*********** Right Changed To Left**********/
    position: absolute;
    top: 20px !important;
    left: 5%;
    content: "";
    display: inline-block;
    font-size: 0;
  }
  .menu3dmega.responsive li > .dropdown-menu {
    position: static;
  }
  .menu3dmega.responsive li .dropdown-menu {
    border-left: none !important;
    border-right: none !important;
  }
  .menu3dmega.responsive li .dropdown-menu > ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-flow: wrap column;
    flex-flow: wrap column;
  }
  .menu3dmega.responsive li .dropdown-menu li:hover, .menu3dmega.responsive li .dropdown-menu li.current {
    background: #394263 !important;
    color: #fff !important;
  }
  .menu3dmega.responsive li .dropdown-menu li > a {
    color: #fff;
  }
  .menu3dmega.responsive > ul > li {
    border-left: none !important;
    border-right: none !important;
  }
  .hamburger {
    visibility: visible !important;
    right: -1em !important;
  }
  .pushMenuSimpleLinksWrap,.pushMenuLinksWrap {
    display: none;
  }
  .pushMenuTabPanel {
    width: 100%;
    visibility: visible;
  }
  .tabpanelContent {
    display: block;
  }
  .pushMenuWrapper {
    width: 100%;
  }
  .pushMenuOpen .pushMenuTabPanel {
    height: 100%;
    overflow-y: auto;
    direction: ltr;
    right: 0;
  }
  .tabpanelContent {
    height: auto;
    padding: 20px;
  }
  .tabpanelContent:first-child {
    padding: 10px 20px;
  }
  .pushMenuOpen .hamburger {
    right: -6em;
  }
  .pushMenuTabPanel .newsListItem .newsImage, .pushMenuOverlay {
    display: none;
  }
  .pushMenuWrapper {
    width: 0;
  }
  .pushMenuWrapper .tabpanelContent {
    height: auto !important;
  }
  .pushMenuTabPanel {
    width: 80% !important;
    position: fixed;
    right: -133%;
    z-index: 8030;
  }
  .adminBarWrap {
    display: none;
  }
  .pagerWrapper a:not(.selected):not(.previousPage):not(.nextPage) {
    display: none !important;
  }
  .eco-search-box .searchWithSuggestion,
  .eco-search-boxNew .searchWithSuggestion,
  .eco-search-boxIndustry .searchWithSuggestion {
    padding: 10px 5px;
  }
  .eco-search-box, .eco-search-boxNew, .eco-search-boxIndustry {
    padding: 0;
  }
  .eco-search-box .input-group .searchTextBox,.eco-search-boxNew .input-group .searchTextBox,.eco-search-boxIndustry .input-group .searchTextBox {
    width: 76%;
  }
  .goToTop {
    width: 30px !important;
    height: 30px !important;
    padding: 9px !important;
    right: 35px;
  }
  .goToTop:after {
    line-height: 1.1;
  }
  .collapsedColumn {
    border-bottom: 1px solid #505878;
  }
  .footerNav .collapsedColumn ul {
    display: none;
  }
  .footerNav .collapsedColumn h5 {
    position: relative;
    cursor: pointer;
  }
  .footerNav .collapsedColumn h5:after {
    content: "\e805";
    font-family: "Glyphicons Halflings";
    position: absolute;
    top: -5px;
    left: 10px;
    color: #4FC1E9;
    font-size: 18px;
  }
  .footerNav.closed::after {
    content: "\e806";
  }
  .navbar-right.sf-horizontal li ul li .sub-arrow, .navbar-right.sf-horizontal ul ul .collapsible .sub-arrow {
    border-color: #58585a transparent transparent !important;
    border-style: solid !important;
    border-width: 5px 4px 0 !important;
    height: 0;
    margin-left: 0 !important;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    left: 10px;
    width: 0;
  }
  .navbar-right.sf-horizontal li ul li a:hover .sub-arrow, .navbar-right.sf-horizontal ul ul .collapsible a:hover .sub-arrow {
    border-color: #f50303 transparent transparent !important;
    border-style: solid !important;
    border-width: 5px 4px 0 !important;
    height: 0;
    margin-left: 0 !important;
    margin-top: -2px;
    position: absolute !important;
    top: 50%;
    left: 10px;
    width: 0;
  }
  .mainHeaderWrap .glyphicon-responsive {
    font-size: 1.5em;
  }
  .mainSitememberWelcome,.mainSelectLanguage {
    margin-bottom: 8px;
  }
  .mainSearchBox .generalSearchBox .form-control {
    width: 150px !important;
    font-size: 0.8em;
    padding: 2px 6px 3px;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu {
    background: #f8f8f8;
    border-bottom: 1px solid #dddddd;
    border-top: 1px solid #dddddd;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar {
    margin-bottom: 0;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle {
    background-color: #58585A;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle .icon-bar {
    background-color: #fff;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-toggle:hover .icon-bar {
    background-color: #f50303;
  }
  .mainNavigationWrap .mainSmallMenuWrap .mainMenu .navbar .navbar-nav {
    margin: 0;
  }
  .mainMenu .navbar-right .dropdown-menu {
    margin: 0 0 4px 0;
    border-top: none;
  }
  .navbar-collapse {
    max-height: 170px;
    overflow-y: scroll;
  }
  .mainFooterWrap .container {
    overflow: hidden;
  }
  .siteMemberWelcomeWrap, .generalCurrentDateTime, .generalSelectLanguage, .radcomCopyrightAndLogo * {
    text-align: center;
    float: none !important;
  }
  .table-responsive {
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .table-responsive table:not(.table-exclude) {
    width: auto !important;
    max-width: initial !important;
  }
  ::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
  }
  .offCanvasInResponsive {
    position: fixed;
    top: 40px;
    bottom: 0;
    left: -320px;
    z-index: 8040;
    max-width: 320px;
    width: 90%;
    background: #fff;
    overflow: auto;
    padding: 15px;
    -webkit-box-shadow: 0 0 5px #000;
    box-shadow: 0 0 5px #000;
  }
  .offCanvasInResponsive .menu3dmega.responsive > ul {
    display: block !important;
  }
  .offCanvasInResponsive .menu3dmega.responsive > ul > li, .offCanvasInResponsive .menu3dmega.responsive li.menu-non-dropdown {
    width: 100%;
  }
  .offCanvasMenuToggle {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 8041;
    display: block;
    -webkit-box-shadow: 0 0 5px #000;
    box-shadow: 0 0 5px #000;
  }
  .offCanvasMenuToggle .megaMenuToggleIcon {
    float: right;
    margin-left: 15px !important;
  }
}

@media (max-width: 480px) {
  .menu3dmega.responsive > ul > li, .menu3dmega.responsive li.menu-non-dropdown {
    width: 100%;
  }
  .menu3dmega.responsive > ul > li > .arrow-icon-bottom:after {
    left: 5%;
  }
}

@media print {
  a:after {
    content: none !important;
  }
  .noPrint {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .tab-wrapper .panel-default {
    border-radius: 0;
  }
  .tab-wrapper .panel-default > .panel-heading {
    background-image: none;
    background-color: #394263;
    color: #fff;
    border-radius: 0;
  }
  .tab-wrapper .panel-default > .panel-heading .glyphicon {
    top: 4px !important;
    padding-left: 7px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJsYW5rLWZhLUlSL0JsYW5rLWZhLUlSLmNzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19WYXJpYWJsZXMuc2NzcyIsIkJsYW5rLWZhLUlSL0xpYi9fbWl4aW5zLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fRm9udHNJbXBvcnRzLnNjc3MiLCJCbGFuay1mYS1JUi9CbGFuay1mYS1JUi5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX0FuaW1hdGUuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19NYWluTWVudS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1ZlcnRpY2FsTWVudS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX011bHRpQ29sdW1uTWVudS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX01lZ2FNZW51M0Quc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19QdXNoTWVudS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX05pZ2h0TW9kZS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1BhcmFsbGF4LnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fUHJpbnRWZXJzaW9uLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fQWRtaW5CYXIuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19EYXRhVGltZS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1NlYXJjaC5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1NlbGVjdExhbmd1YWdlLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fVG9vbHNCb3guc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19Tb2NpYWxOZXR3b3Jrcy5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1N3aXRjaEJhci5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX0dvVG9Ub3Auc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19MaW5lYXJGb290ZXJMaW5rcy5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX0NvbHVtbkZvb3Rlckxpbmsuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19Qb3dlcmVkQnkuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19QYW5lbFN5bGVzLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fVGFiLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fVGFibGVTdHlsZXMuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19EYXRhR3JpZC5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX1BhZ2VyLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fUGFnZXJXcmFwcGVyLnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fTm90aWZ5LnNjc3MiLCJCbGFuay1mYS1JUi9QYXJ0aWFscy9fTm9VSS5zY3NzIiwiQmxhbmstZmEtSVIvUGFydGlhbHMvX01lZGlhUXVlcnkuc2NzcyIsIkJsYW5rLWZhLUlSL1BhcnRpYWxzL19Db2xvclBpY2tlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQzBDaEI7aUJBQUE7QUN6Q0M7RUFDQyxtQ0RxQ2lCO0VDcENoQiwrQkFBQTtFQUNBLDZKQUFBO0VBR0QsaUJDUHVEO0VEUXZELGtCQ1I2RDtFRFN2RCxrQkFBQTtBRkNSO0FFVEM7RUFDQyxrQkQyQ3VCO0VDMUN0Qix3Q0FBQTtFQUNBLHdMQUFBO0VBR0QsbUJDTitEO0VETy9ELGtCQ1B1RTtFRFFqRSxrQkFBQTtBRlNSO0FFakJDO0VBQ0Msa0JEMkN1QjtFQzFDdEIscUNBQUE7RUFDQSwrS0FBQTtFQUdELGlCQ0w0RDtFRE01RCxrQkNOa0U7RURPNUQsa0JBQUE7QUZpQlI7QUV6QkM7RUFDQyw2QkQ0Q3VCO0VDM0N0QixrQ0FBQTtFQUNBLHNLQUFBO0VBR0QsbUJDSjJEO0VESzNELGtCQ0xtRTtFRE03RCxrQkFBQTtBRnlCUjtBRWpDQztFQUNDLDZCRDRDdUI7RUMzQ3RCLCtCQUFBO0VBQ0EsNkpBQUE7RUFHRCxpQkNId0Q7RURJeEQsa0JDSjhEO0VES3hELGtCQUFBO0FGaUNSO0FFekNDO0VBQ0MsOEJENkN1QjtFQzVDdEIscUNBQUE7RUFDQSwrS0FBQTtFQUdELG1CQ0YrRDtFREcvRCxrQkNIdUU7RURJakUsa0JBQUE7QUZ5Q1I7QUVqREM7RUFDQyw4QkQ2Q3VCO0VDNUN0QixrQ0FBQTtFQUNBLHNLQUFBO0VBR0QsaUJDRDREO0VERTVELGtCQ0ZrRTtFREc1RCxrQkFBQTtBRmlEUjtBRXpEQztFQUNDLDhCRDhDdUI7RUM3Q3RCLHNDQUFBO0VBQ0Esa0xBQUE7RUFHRCxtQkFBQTtFQUNBLGtCQ0R3RTtFREVsRSxrQkFBQTtBRnlEUjtBRWpFQztFQUNDLDhCRDhDdUI7RUM3Q3RCLG1DQUFBO0VBQ0EseUtBQUE7RUFHRCxpQkNDNkQ7RURBN0Qsa0JBQUE7RUFDTSxrQkFBQTtBRmlFUjtBRXpFQztFQUNDLDhCRCtDdUI7RUM5Q3RCLHVDQUFBO0VBQ0EscUxBQUE7RUFHRCxtQkNFaUU7RUREakUsa0JDQ3lFO0VEQW5FLGtCQUFBO0FGeUVSO0FFakZDO0VBQ0MsOEJEK0N1QjtFQzlDdEIsb0NBQUE7RUFDQSw0S0FBQTtFQUdELGlCQ0c4RDtFREY5RCxrQkNFb0U7RUREOUQsa0JBQUE7QUZpRlI7QUV6RkM7RUFDQyw4QkRnRHVCO0VDL0N0QixtQ0FBQTtFQUNBLHlLQUFBO0VBR0QsbUJDSTZEO0VESDdELGtCQ0dxRTtFREYvRCxrQkFBQTtBRnlGUjtBRWpHQztFQUNDLDhCRGdEdUI7RUMvQ3RCLGdDQUFBO0VBQ0EsZ0tBQUE7RUFHRCxpQkNLMEQ7RURKMUQsa0JDSWdFO0VESDFELGtCQUFBO0FGaUdSO0FFekdDO0VBQ0MsdUJEb0R3QjtFQ25EdkIsMkNBQUE7RUFDQSxpTUFBQTtFQUdELG1CQ00wRTtFREwxRSxrQkNLa0Y7RURKNUUsa0JBQUE7QUZ5R1I7QUVqSEM7RUFDQyx1QkRvRHdCO0VDbkR2QiwwQ0FBQTtFQUNBLDhMQUFBO0VBR0QsaUJDT3lFO0VETnpFLGtCQ00rRTtFREx6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O0F1QjFrSEMsb0RBQUE7QUFFRztFQUNJLGVBQUE7QXZCNGtIUjtBdUIza0hRO0VBQ0ksY0FBQTtFQUNBLGlCQUFBO0F2QjZrSFo7QXVCNWtIWTtFQUNJLFd0QnlCUjtBRHFqSFI7QXVCemtISTtFQUNJLG1CdEIyRHlCO0FEZ2hIakM7QXVCMWtIUTtFQUNJLGdCQUFBO0F2QjRrSFo7QXVCM2tIWTtFQUNJLGtCdEJ5Q1U7RXNCeENWLFd0QmNSO0VzQmJRLHFCQUFBO0VBQ0EsY0FBQTtBdkI2a0hoQjs7QXdCbG1IQztFQUNHLGNBQUE7RUFDQSxpQkFBQTtBeEJxbUhKO0F3Qm5tSEk7RUFDSSx5Q0FBQTtFQUFBLHNDQUFBO0VBQUEsaUNBQUE7RUFDQSxjQUFBO0VBQ0EsZ0NBQUE7QXhCcW1IUjtBd0JwbUhRO0VBQ0ksY0FBQTtBeEJzbUhaOztBeUIvbUhDLDhDQUFBO0FBQ0Q7RUFDSSxlQUFBO0F6QmtuSEo7O0F5Qi9tSEEsaURBQUE7QXZCaURJO0VBQ0kseUJ1Qi9DcUI7RXZCZ0RyQixTdUJoRHlDO0V2QmlEekMsa0J1QmpEaUU7RXZCa0RqRSx3QnVCbERnRztFdkJrRGhHLGdCdUJsRGdHO0F6Qm9uSHhHO0FFL2pISTtFQUNJLHlCdUJ0RDRIO0V2QnVENUgsZ0J1QnZEOFQ7RXZCd0Q5VCxTdUJ4RDhSO0V2QnlEOVIsaUJ1QnpEK1A7QXpCMG5IdlE7QUUvakhROzs7RUFRSSx3Q0FBQTtFQUNBLGlCdUJwRXNOO0V2QnFFdE4sU0FBQTtFQUNBLFd1QnRFb0o7RXZCdUVwSixZQUFBO0FGNGpIWjtBRXpqSFE7RUFDSSxZdUIzRThmO0V2QjRFOWYsaUJ1QjVFd2I7RXZCNkV4YixjdUI3RTZkO0V2QjhFN2QsTUFBQTtFQUNBLHFCQUFBO0VBQ0Esd0NBQUE7RUFBQSxxQ0FBQTtFQUFBLGdDQUFBO0VBQ0EsaUJBQUE7QUYyakhaO0FFempIWTtFQUNJLGN1QnBGMmhCO0F6QitvSDNpQjtBRXZqSFE7RUFDSSxpQnVCekZza0I7RXZCMEZ0a0IsY3VCMUYybUI7RXZCMkYzbUIsbUJ1QjNGNG9CO0V2QjRGNW9CLG1CdUI1RmtyQjtFdkI2RmxyQix3QnVCN0ZvdEI7RXZCNkZwdEIsZ0J1QjdGb3RCO0V2QjhGcHRCLGtCdUI5RjB2QjtFdkIrRjF2QixlQUFBO0VBQ0Esd0NBQUE7RUFBQSxxQ0FBQTtFQUFBLGdDQUFBO0FGeWpIWjtBRXZqSFk7RUFDSSxjdUJuRyt4QjtFdkJvRy94QixtQnVCcEdzMEI7RXZCcUd0MEIseUJ1QnJHazNCO0F6QjhwSGw0QjtBRXBqSEk7RUFDSSxzQnVCM0dxVztFdkI0R3JXLGdCQUFBO0VBQ0EsNkJBQUE7QUZzakhSO0FFbmpIUTtFQUNJLGtCdUJqSG82QjtFdkJrSHA2QixpQnVCbEh5OEI7RXZCbUh6OEIsaUJ1Qm5Iay9CO0F6QndxSDkvQjtBeUJ6cUhJO0VBSVEsWUFBQTtBekJ3cUhaO0F5QnRxSFk7RUFDSSxxQkFBQTtFQUNBLFdBQUE7QXpCd3FIaEI7O0F5QnBxSEksMEJBQUE7QXZCbUNBO0VBQ0ksc0J1Qi9DcUI7RXZCZ0RyQixTdUJoRHlDO0V2QmlEekMsZ0J1QmpEaUU7RXZCa0RqRSx3QnVCbERnRztFdkJrRGhHLGdCdUJsRGdHO0F6QnVySHhHO0FFbG9ISTtFQUNJLHlCdUJ0RDRIO0V2QnVENUgsZ0J1QnZEOFQ7RXZCd0Q5VCxTdUJ4RDhSO0V2QnlEOVIsaUJ1QnpEK1A7QXpCNnJIdlE7QUVsb0hROzs7RUFRSSx3Q0FBQTtFQUNBLGlCdUJwRXNOO0V2QnFFdE4sU0FBQTtFQUNBLFd1QnRFb0o7RXZCdUVwSixZQUFBO0FGK25IWjtBRTVuSFE7RUFDSSxZdUIzRThmO0V2QjRFOWYsaUJ1QjVFd2I7RXZCNkV4YixjdUI3RTZkO0V2QjhFN2QsTUFBQTtFQUNBLHFCQUFBO0VBQ0Esd0NBQUE7RUFBQSxxQ0FBQTtFQUFBLGdDQUFBO0VBQ0EsaUJBQUE7QUY4bkhaO0FFNW5IWTtFQUNJLGN1QnBGMmhCO0F6Qmt0SDNpQjtBRTFuSFE7RUFDSSxpQnVCekZza0I7RXZCMEZ0a0IsY3VCMUYybUI7RXZCMkYzbUIsbUJ1QjNGNG9CO0V2QjRGNW9CLG1CdUI1RmtyQjtFdkI2RmxyQix3QnVCN0ZvdEI7RXZCNkZwdEIsZ0J1QjdGb3RCO0V2QjhGcHRCLGtCdUI5RjB2QjtFdkIrRjF2QixlQUFBO0VBQ0Esd0NBQUE7RUFBQSxxQ0FBQTtFQUFBLGdDQUFBO0FGNG5IWjtBRTFuSFk7RUFDSSxjdUJuRyt4QjtFdkJvRy94QixtQnVCcEdzMEI7RXZCcUd0MEIseUJ1QnJHazNCO0F6Qml1SGw0QjtBRXZuSEk7RUFDSSxzQnVCM0dxVztFdkI0R3JXLGdCQUFBO0VBQ0EseUJBQUE7QUZ5bkhSO0FFdG5IUTtFQUNJLGtCdUJqSG82QjtFdkJrSHA2QixpQnVCbEh5OEI7RXZCbUh6OEIsaUJ1Qm5Iay9CO0F6QjJ1SDkvQjs7QXlCaHVISSwwQkFBQTtBdkJtQ0E7RUFDSSxzQnVCL0NxQjtFdkJnRHJCLFN1QmhEeUM7RXZCaUR6QyxnQnVCakRpRTtFdkJrRGpFLHdCdUJsRGdHO0V2QmtEaEcsZ0J1QmxEZ0c7QXpCbXZIeEc7QUU5ckhJO0VBQ0kseUJ1QnRENEg7RXZCdUQ1SCxnQnVCdkQ4VDtFdkJ3RDlULFN1QnhEOFI7RXZCeUQ5UixpQnVCekQrUDtBekJ5dkh2UTtBRTlySFE7OztFQVFJLHdDQUFBO0VBQ0EsaUJ1QnBFc047RXZCcUV0TixTQUFBO0VBQ0EsV3VCdEVvSjtFdkJ1RXBKLFlBQUE7QUYyckhaO0FFeHJIUTtFQUNJLFl1QjNFOGY7RXZCNEU5ZixpQnVCNUV3YjtFdkI2RXhiLGN1QjdFNmQ7RXZCOEU3ZCxNQUFBO0VBQ0EscUJBQUE7RUFDQSx3Q0FBQTtFQUFBLHFDQUFBO0VBQUEsZ0NBQUE7RUFDQSxpQkFBQTtBRjBySFo7QUV4ckhZO0VBQ0ksY3VCcEYyaEI7QXpCOHdIM2lCO0FFdHJIUTtFQUNJLGlCdUJ6RnNrQjtFdkIwRnRrQixjdUIxRjJtQjtFdkIyRjNtQixtQnVCM0Y0b0I7RXZCNEY1b0IsbUJ1QjVGa3JCO0V2QjZGbHJCLHdCdUI3Rm90QjtFdkI2RnB0QixnQnVCN0ZvdEI7RXZCOEZwdEIsa0J1QjlGMHZCO0V2QitGMXZCLGVBQUE7RUFDQSx3Q0FBQTtFQUFBLHFDQUFBO0VBQUEsZ0NBQUE7QUZ3ckhaO0FFdHJIWTtFQUNJLGN1Qm5HK3hCO0V2Qm9HL3hCLG1CdUJwR3MwQjtFdkJxR3QwQix5QnVCckdrM0I7QXpCNnhIbDRCO0FFbnJISTtFQUNJLHNCdUIzR3FXO0V2QjRHclcsZ0JBQUE7RUFDQSx5QkFBQTtBRnFySFI7QUVsckhRO0VBQ0ksa0J1QmpIbzZCO0V2QmtIcDZCLGlCdUJsSHk4QjtFdkJtSHo4QixnQnVCbkhrL0I7QXpCdXlIOS9COztBeUI1eEhJLDBCQUFBO0F2Qm1DQTtFQUNJLHNCdUIvQ3FCO0V2QmdEckIsU3VCaER5QztFdkJpRHpDLGdCdUJqRGlFO0V2QmtEakUsd0J1QmxEZ0c7RXZCa0RoRyxnQnVCbERnRztBekIreUh4RztBRTF2SEk7RUFDSSx5QnVCdEQ0SDtFdkJ1RDVILGdCdUJ2RDhUO0V2QndEOVQsU3VCeEQ4UjtFdkJ5RDlSLGlCdUJ6RCtQO0F6QnF6SHZRO0FFMXZIUTs7O0VBUUksd0NBQUE7RUFDQSxpQnVCcEVzTjtFdkJxRXROLFNBQUE7RUFDQSxXdUJ0RW9KO0V2QnVFcEosWUFBQTtBRnV2SFo7QUVwdkhRO0VBQ0ksWXVCM0U4ZjtFdkI0RTlmLGlCdUI1RXdiO0V2QjZFeGIsY3VCN0U2ZDtFdkI4RTdkLE1BQUE7RUFDQSxxQkFBQTtFQUNBLHdDQUFBO0VBQUEscUNBQUE7RUFBQSxnQ0FBQTtFQUNBLGlCQUFBO0FGc3ZIWjtBRXB2SFk7RUFDSSxjdUJwRjJoQjtBekIwMEgzaUI7QUVsdkhRO0VBQ0ksaUJ1QnpGc2tCO0V2QjBGdGtCLGN1QjFGMm1CO0V2QjJGM21CLG1CdUIzRjRvQjtFdkI0RjVvQixtQnVCNUZrckI7RXZCNkZsckIsd0J1QjdGb3RCO0V2QjZGcHRCLGdCdUI3Rm90QjtFdkI4RnB0QixrQnVCOUYwdkI7RXZCK0YxdkIsZUFBQTtFQUNBLHdDQUFBO0VBQUEscUNBQUE7RUFBQSxnQ0FBQTtBRm92SFo7QUVsdkhZO0VBQ0ksY3VCbkcreEI7RXZCb0cveEIsbUJ1QnBHczBCO0V2QnFHdDBCLHlCdUJyR2szQjtBekJ5MUhsNEI7QUUvdUhJO0VBQ0ksc0J1QjNHcVc7RXZCNEdyVyxnQkFBQTtFQUNBLHlCQUFBO0FGaXZIUjtBRTl1SFE7RUFDSSxXdUJqSG82QjtFdkJrSHA2QixpQnVCbEh5OEI7RXZCbUh6OEIsaUJ1Qm5Iay9CO0F6Qm0ySDkvQjs7QXlCeDFISSwwQkFBQTtBdkJtQ0E7RUFDSSxzQnVCL0NxQjtFdkJnRHJCLFN1QmhEeUM7RXZCaUR6QyxnQnVCakRpRTtFdkJrRGpFLHdCdUJsRGdHO0V2QmtEaEcsZ0J1QmxEZ0c7QXpCMjJIeEc7QUV0ekhJO0VBQ0kseUJ1QnRENEg7RXZCdUQ1SCxnQnVCdkQ4VDtFdkJ3RDlULFN1QnhEOFI7RXZCeUQ5UixpQnVCekQrUDtBekJpM0h2UTtBRXR6SFE7OztFQVFJLHdDQUFBO0VBQ0EsaUJ1QnBFc047RXZCcUV0TixTQUFBO0VBQ0EsV3VCdEVvSjtFdkJ1RXBKLFlBQUE7QUZtekhaO0FFaHpIUTtFQUNJLFl1QjNFOGY7RXZCNEU5ZixpQnVCNUV3YjtFdkI2RXhiLGN1QjdFNmQ7RXZCOEU3ZCxNQUFBO0VBQ0EscUJBQUE7RUFDQSx3Q0FBQTtFQUFBLHFDQUFBO0VBQUEsZ0NBQUE7RUFDQSxpQkFBQTtBRmt6SFo7QUVoekhZO0VBQ0ksY3VCcEYyaEI7QXpCczRIM2lCO0FFOXlIUTtFQUNJLGlCdUJ6RnNrQjtFdkIwRnRrQixjdUIxRjJtQjtFdkIyRjNtQixtQnVCM0Y0b0I7RXZCNEY1b0IsbUJ1QjVGa3JCO0V2QjZGbHJCLHdCdUI3Rm90QjtFdkI2RnB0QixnQnVCN0ZvdEI7RXZCOEZwdEIsa0J1QjlGMHZCO0V2QitGMXZCLGVBQUE7RUFDQSx3Q0FBQTtFQUFBLHFDQUFBO0VBQUEsZ0NBQUE7QUZnekhaO0FFOXlIWTtFQUNJLGN1Qm5HK3hCO0V2Qm9HL3hCLG1CdUJwR3MwQjtFdkJxR3QwQix5QnVCckdrM0I7QXpCcTVIbDRCO0FFM3lISTtFQUNJLHNCdUIzR3FXO0V2QjRHclcsZ0JBQUE7RUFDQSx5QkFBQTtBRjZ5SFI7QUUxeUhRO0VBQ0ksa0J1QmpIbzZCO0V2QmtIcDZCLGlCdUJsSHk4QjtFdkJtSHo4Qixn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TjtFaUNqMUlVO0lBQ0kseUJBQUE7RWpDbTFJZDtFaUM3MElNO0lBQ0ksV0FBQTtFakMrMElWO0VpQzMwSUU7SS9Cdk5ILGUrQndOeUI7SS9CdE54QixNK0JzTitCO0kvQm5OL0IsUStCbU5rQztJL0I3TWxDLE8rQjZNMkM7SS9CMU0zQyxhK0IwTThDO0lBQ3hDLGNBQUE7SUFDQSxnQ0FBQTtJQUFBLHdCQUFBO0VqQ2kxSU47RWlDNzBJTTtJQUNJLFlBQUE7SUFDQSw0QkFBQTtFakMrMElWO0FBeDZJRjs7QVNxakJBO0VBRVE7SUFDSSxXQUFBO0VUMHJDVjtFU3ZyQ007SUFDSSxRQUFBO0VUeXJDVjtBQUNGOztBYXY0REE7RUFFUTtJQUNJLHdCQUFBO0Vid2xGVjtFYXJsRkU7SUFDSSxhQUFBO0VidWxGTjtBQUNGOztBMEIvaUZBO0VBRVE7SUFDSSxnQkFBQTtFMUJtOEhWO0UwQmo4SFU7SUFDSSxzQkFBQTtJQUNBLHlCekIxREE7SXlCMkRBLFd6QjNCUjtJeUI0QlEsZ0JBQUE7RTFCbThIZDtFMEJqOEhjO0lBQ0ksbUJBQUE7SUFDQSxpQkFBQTtFMUJtOEhsQjtBQUNGIiwiZmlsZSI6IkJsYW5rLWZhLUlSL0JsYW5rLWZhLUlSLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qJGljb24tZm9udC1wYXRoOiAgICAgICAgICBcIi4uL2ZvbnRzL1wiO1xuJGljb24tZm9udC1uYW1lOiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvRm9udEljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9Gb250SWNvbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvRm9udEljb24ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvRm9udEljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1SZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNYLVJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1Cb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNYLUJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zWC1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERiBTdWJzaWRpYXJ5XCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSXJhblJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lyYW5SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnlcIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSXJhbkJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9JcmFuQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvSXJhbkJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvSXJhbkJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnkxXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0Fuam9tYW5SZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvQW5qb21hblJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0Fuam9tYW5SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0Fuam9tYW5SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnkxXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0Fuam9tYW5Cb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvQW5qb21hbkJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0Fuam9tYW5Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0Fuam9tYW5Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERiBTdWJzaWRpYXJ5MlwiO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOU2Fuc1JlZ3VsYXIuZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOU2Fuc1JlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5TYW5zUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9JUkFOU2Fuc1JlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTREYgU3Vic2lkaWFyeTJcIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNCb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNCb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9Gb250cy9JUkFOU2Fuc0JvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNCb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERiBTdWJzaWRpYXJ5M1wiO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOWWVrYW5SZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTllla2FuUmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvSVJBTllla2FuUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9JUkFOWWVrYW5SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnkzXCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL0lSQU5ZZWthbkJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOWWVrYW5Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9Gb250cy9JUkFOWWVrYW5Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL0lSQU5ZZWthbkJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGIFN1YnNpZGlhcnk0XCI7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL1ZhemlyUmVndWxhci5lb3RcIik7XG4gIHNyYzogdXJsKFwiL0ZvbnRzL1ZhemlyUmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvVmF6aXJSZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL0ZvbnRzL1ZhemlyUmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNERiBTdWJzaWRpYXJ5NFwiO1xuICBzcmM6IHVybChcIi9Gb250cy9WYXppckJvbGQuZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9WYXppckJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL1ZhemlyQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9WYXppckJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0RGRmFOdW1cIjtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNYRmFOdW0tTGlnaHQuZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOU2Fuc1hGYU51bS1MaWdodC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNYRmFOdW0tTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNYRmFOdW0tTGlnaHQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTREZGYU51bVwiO1xuICBzcmM6IHVybChcIi9Gb250cy9JUkFOU2Fuc1hGYU51bS1Cb2xkLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIvRm9udHMvSVJBTlNhbnNYRmFOdW0tQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvRm9udHMvSVJBTlNhbnNYRmFOdW0tQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9JUkFOU2Fuc1hGYU51bS1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlZpZXdGb250SWNvblwiO1xuICBzcmM6IHVybChcIi9Gb250cy9WaWV3Rm9udEljb24uZW90XCIpO1xuICBzcmM6IHVybChcIi9Gb250cy9WaWV3Rm9udEljb24uZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL0ZvbnRzL1ZpZXdGb250SWNvbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9Gb250cy9WaWV3Rm9udEljb24udHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4vKkBpbXBvcnQgXCJQYXJ0aWFscy9IZWxwZXJcIjsqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuRWZmZWN0ICAgICAgICAgICAgICAgICAgIFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmVmZmVjdFBhcmVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKioqKioqKioqKiogaW5pdGlhbGx5IGhpZGUgYW5pbWF0YWJsZSBvYmplY3RzICoqKioqKioqKioqKiovXG4uYW5pbWF0YWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5hbmltYXRhYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG4vKioqKioqKioqKioqIHNob3cgb2JqZWN0cyBiZWluZyBhbmltYXRlZCAqKioqKioqKioqKioqL1xuLmFuaW1hdGVkIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbn1cblxuLyoqKioqKioqKioqKiBDU1MgQW5pbWF0aW9ucyAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2UgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTMlLCA4MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgNDAlLCA0MyUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG4uQm91bmNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgQm91bmNlICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsYXNoICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgMCUsIDUwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLkZsYXNoIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGFzaCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBQdWxzZSAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uUHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBQdWxzZSAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSdWJiZXJCYW5kICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG4gIDY1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLlJ1YmJlckJhbmQge1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUnViYmVyQmFuZCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBTaGFrZSAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cbi5TaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNoYWtlICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFN3aW5nICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG4uU3dpbmcge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFN3aW5nICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFRhZGEgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlLCAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5UYWRhIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFRhZGEgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgV29iYmxlICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuICA0NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5Xb2JibGUge1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBXb2JibGUgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgSmVsbG8gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgamVsbG8ge1xuICAxMS4xJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIDIyLjIlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cbiAgMzMuMyUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cbiAgNDQuNCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG4gIDU1LjUlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgfVxuICA2Ni42JSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG4gIDc3LjclIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cbiAgODguOCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uSmVsbG8ge1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgSmVsbG8gKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgQm91bmNlSW4gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSwgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLkJvdW5jZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkRvd24gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5Cb3VuY2VJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJbkRvd24gKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgQm91bmNlSW5MZWZ0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uQm91bmNlSW5MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgQm91bmNlSW5MZWZ0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluUmlnaHQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uQm91bmNlSW5SaWdodCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblJpZ2h0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluVXAgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLkJvdW5jZUluVXAge1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgQm91bmNlSW5VcCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW4gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLkZhZGVJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5Eb3duICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLkZhZGVJbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluRG93biAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5Eb3duQmlnICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uRmFkZUluRG93bkJpZyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5Eb3duQmlnICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkxlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uRmFkZUluTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5MZWZ0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkxlZnRCaWcgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbi5GYWRlSW5MZWZ0QmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkxlZnRCaWcgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluUmlnaHQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uRmFkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblJpZ2h0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJblJpZ2h0QmlnICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4uRmFkZUluUmlnaHRCaWcge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblJpZ2h0QmlnICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJblVwICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLkZhZGVJblVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5VcCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5VcEJpZyAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLkZhZGVJblVwQmlnIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5VcEJpZyAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG4uRmxpcCB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXBJblggKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5GbGlwSW5YIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgRmxpcEluWCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwSW5ZICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG4uRmxpcEluWSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXBJblkgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxpcE91dFggKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5GbGlwT3V0WCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WSAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLkZsaXBPdXRZIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXBPdXRZICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIExpZ2h0U3BlZWRJbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLkxpZ2h0U3BlZWRJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBMaWdodFNwZWVkSW4gKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgTGlnaHRTcGVlZE91dCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLkxpZ2h0U3BlZWRPdXQge1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgTGlnaHRTcGVlZE91dCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLlJvdGF0ZUluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbkRvd25MZWZ0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5Sb3RhdGVJbkRvd25MZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93bkxlZnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5Eb3duUmlnaHQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uUm90YXRlSW5Eb3duUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93blJpZ2h0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvdGF0ZUluVXBMZWZ0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5Sb3RhdGVJblVwTGVmdCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcExlZnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uUm90YXRlSW5VcFJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEhpbmdlICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG4gIDIwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuICA0MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uSGluZ2Uge1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIEhpbmdlICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuLlJvbGxJbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb2xsT3V0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuLlJvbGxPdXQge1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUm9sbE91dCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW4gKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLlpvb21JbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JbiAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5Eb3duICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLlpvb21JbkRvd24ge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluRG93biAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5MZWZ0ICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLlpvb21JbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluTGVmdCAqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5SaWdodCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uWm9vbUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JblJpZ2h0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFpvb21JblVwICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5ab29tSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluVXAgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVEb3duICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLlNsaWRlSW5Eb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBTbGlkZURvd24gKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVJbkxlZnQgKioqKioqKioqKioqKi9cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uU2xpZGVJbkxlZnQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlSW5MZWZ0ICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFNsaWRlSW5SaWdodCAqKioqKioqKioqKioqL1xuQGtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5TbGlkZUluUmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqIEVuZCBPZiBTbGlkZUluUmlnaHQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVJblVwICoqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLlNsaWRlSW5VcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlSW5VcCAqKioqKioqKioqKioqL1xuLypAaW1wb3J0IFwiUGFydGlhbHMvU2xpZGVyXCI7Ki9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbk1lbnUgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWFpbk1lbnUgLm5hdmJhci1yaWdodCA+IGxpID4gYSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmOGY4ZjgsICNlOWU5ZTkpIHJlcGVhdCBzY3JvbGwgMCAwICNlOWU5ZTk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XG59XG4ubWFpbk1lbnUgLm5hdmJhci1yaWdodCA+IGxpLm9wZW4gPiBhLCAubWFpbk1lbnUgLm5hdmJhci1yaWdodCA+IGxpLmN1cnJlbnQgPiBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgY29sb3I6ICNmNTAzMDM7XG59XG4ubWFpbk1lbnUgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudSB7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLm1haW5NZW51IC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG59XG4ubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDM2cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2cHggMTVweCA4cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2NlZGI7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4ubWFpbk1lbnUgdWwgbGkubWVudUNvbGxhcHNlIHVsIGxpOmxhc3QtY2hpbGQgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2VkYjtcbn1cblxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y1ZjVmNSAwcHgsICNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgY29sb3I6IHJlZDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhYWE7XG59XG4uZHJvcGRvd24tbWVudSA+IGxpLm9wZW4gPiBhLCAuZHJvcGRvd24tbWVudSA+IGxpLmN1cnJlbnQgPiBhIHtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y1ZjVmNSAwcHgsICNlOGU4ZTggMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgY29sb3I6ICNmNTAzMDM7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYWFhO1xufVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEhvcml6b250YWwgTWVudSAqKioqKioqKioqKioqL1xuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsIC5jb2xsYXBzaWJsZSAuc3ViLWFycm93IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAtbW96LXVzZS10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkIHNvbGlkIGRhc2hlZCBkYXNoZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbn1cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7XG59XG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwuZHJvcGRvd24tbWVudSB7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDtcbn1cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCA+IGxpID4gYS5oYXMtc3VibWVudSB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG59XG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwuZHJvcGRvd24tbWVudSB7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwuZHJvcGRvd24tbWVudSB1bC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiBhdXRvO1xufVxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIGxpIHVsIGxpIGE6aG92ZXIgLnN1Yi1hcnJvdywgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIGxpIHVsIGxpIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCB1bCAuY29sbGFwc2libGUgYTpob3ZlciAuc3ViLWFycm93IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkIHNvbGlkIGRhc2hlZCBkYXNoZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbn1cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBsaSB1bCBsaSAuc3ViLWFycm93IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAtbW96LXVzZS10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1zdHlsZTogZGFzaGVkIHNvbGlkIGRhc2hlZCBkYXNoZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiA0cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbn1cbi5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCBhOmhvdmVyIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCAuY29sbGFwc2libGUgYTpob3ZlciAuc3ViLWFycm93IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEwcHg7XG59XG4ubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgLnN1Yi1hcnJvdywgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIC5jb2xsYXBzaWJsZSAuc3ViLWFycm93IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjNTg1ODVBIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDEwcHg7XG59XG5cbi5tYWluTWVudSAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgPiBsaSA+IGEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjhmOGY4LCAjZTllOWU5KSByZXBlYXQgc2Nyb2xsIDAgMCAjZTllOWU5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkO1xufVxuXG4uaGFzLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZi1ob3Jpem9udGFsIC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLyoqKioqKioqKioqKiBTdGFydCBPZiBNdWx0aUNvbHVtbiBNZW51ICoqKioqKioqKioqKiovXG4ubXVsdGlDb2x1bW5NZW51IC5uYXYsIC5tdWx0aUNvbHVtbk1lbnUgLmNvbGxhcHNlLCAubXVsdGlDb2x1bW5NZW51IC5kcm9wdXAsIC5tdWx0aUNvbHVtbk1lbnUgLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xufVxuLm11bHRpQ29sdW1uTWVudSAubmF2YmFyLW5hdiA+IC5oYXNDaGlsZC5jbGlja2VkIC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5tdWx0aUNvbHVtbk1lbnUgLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuLm11bHRpQ29sdW1uTWVudSAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tdWx0aUNvbHVtbk1lbnUgLm11bHRpQ29sdW1uTWVudS1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4O1xufVxuLm11bHRpQ29sdW1uTWVudSAuZHJvcGRvd24ubXVsdGlDb2x1bW5NZW51LWZ3IC5kcm9wZG93bi1tZW51IHtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xufVxuLm11bHRpQ29sdW1uTWVudTpub3QoLm11bHRpQ29sdW1uTWVudU9wZW5NZW51T25DbGljaykgdWwubmF2IGxpLmRyb3Bkb3duOmhvdmVyID4gdWwuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm11bHRpQ29sdW1uTWVudSAubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogMDtcbn1cbi5tdWx0aUNvbHVtbk1lbnUgLm5hdmJhci1jb2xsYXBzZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm1haW5NZW51IC5kcm9wZG93bi1tZW51IHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVudSBUb2dnbGVycyBJbiBNb2JpbGUgKioqKioqKioqKioqKioqKioqKioqKi9cbi5tZW51VG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgY29sb3I6IHJnYigyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubWVudVRvZ2dsZSAubWVnYU1lbnVUb2dnbGVJY29uIHtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLm1lbnVUb2dnbGUgLm1lZ2FNZW51VG9nZ2xlSWNvbiBzcGFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBtYXJnaW46IDJweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xufVxuLm1lbnVUb2dnbGUuY2xvc2VTdGF0dXMgLm1lZ2FNZW51VG9nZ2xlSWNvbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIHRvcDogNnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4ubWVudVRvZ2dsZS5jbG9zZVN0YXR1cyAubWVnYU1lbnVUb2dnbGVJY29uIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5tZW51VG9nZ2xlLmNsb3NlU3RhdHVzIC5tZWdhTWVudVRvZ2dsZUljb24gc3BhbjpudGgtY2hpbGQoMykge1xuICB0b3A6IC02cHg7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVnYSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXG4ubWVudTNkbWVnYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xufVxuLm1lbnUzZG1lZ2EgLmhhcy1pbWFnZSAuaW1nLW1lbnUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5tZW51M2RtZWdhIC5oYXMtaW1hZ2UgLmNvbnRlbnQgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDMzLjMzJTtcbiAgcGFkZGluZzogMTVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1lbnUzZG1lZ2EgLmhhcy1pbWFnZSAuY29udGVudCA+IGRpdiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHBhZGRpbmc6IDEwcHggMDtcbn1cbi5tZW51M2RtZWdhIC5oYXMtaW1hZ2UgLmNvbnRlbnQgPiBkaXYgYS5tZW51LWltYWdlLWxpbmsge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLm1lbnUzZG1lZ2EudmVydGljYWwge1xuICBib3JkZXI6IG5vbmU7XG59XG4ubWVudTNkbWVnYTphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tZW51M2RtZWdhIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLm1lbnUzZG1lZ2EgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm1lbnUzZG1lZ2EgbGkuY3VycmVudCBzcGFuLmFycm93LWljb246YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDQ0JTtcbiAgbGVmdDogMTZweDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyOiBzb2xpZCAjZmZmO1xuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cbi5tZW51M2RtZWdhIGxpLmN1cnJlbnQgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDYlO1xuICBsZWZ0OiA4cHg7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlcjogc29saWQgI2ZmZjtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5tZW51M2RtZWdhIGxpIC5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2MztcbiAgbWFyZ2luOiAwO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDE3MCwgMTcwLCAxNzAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4ubWVudTNkbWVnYSBsaSAuZHJvcGRvd24tbWVudS5vcGVuTGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGkge1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xufVxuLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGkgPiBhIHtcbiAgY29sb3I6IHJnYig3Ni41LCA3Ni41LCA3Ni41KTtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xufVxuLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGkuY3VycmVudCwgLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMmJiYmFkO1xufVxuLm1lbnUzZG1lZ2EgbGkgLmRyb3Bkb3duLW1lbnUgbGkuY3VycmVudCA+IGEsIC5tZW51M2RtZWdhIGxpIC5kcm9wZG93bi1tZW51IGxpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjZWVlO1xufVxuLm1lbnUzZG1lZ2EgbGkgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG4ubWVudTNkbWVnYSBsaSB1bCBsaSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgZmxvYXQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLm1lbnUzZG1lZ2EgbGkgLnN1YiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyMDtcbn1cbi5tZW51M2RtZWdhIGxpIC5zdWIub3BlbkJvdHRvbSB7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tZW51M2RtZWdhIGxpIC5ncmlzYm94IGxpIHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcbiAgbWFyZ2luOiAwcHggMHB4IDRweCAwcHg7XG4gIHBhZGRpbmc6IDRweCA2cHggNHB4IDZweDtcbiAgd2lkdGg6IDExNnB4O1xuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDJweCAycHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggI2NjYztcbn1cbi5tZW51M2RtZWdhIGEge1xuICBvdXRsaW5lOiAwIG5vbmU7XG4gIGNvbG9yOiAjMzMzO1xufVxuLm1lbnUzZG1lZ2EgYTpob3ZlciB7XG4gIGNvbG9yOiAjNTI2ZGQwO1xufVxuLm1lbnUzZG1lZ2EgYTp2aXNpdGVkIHtcbiAgb3V0bGluZTogMCBub25lO1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM5NDI2Mztcbn1cbi5tZW51M2RtZWdhID4gdWwgPiBsaTpob3ZlciA+IC5hcnJvdy1pY29uLWJvdHRvbSwgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyID4gYSwgLm1lbnUzZG1lZ2EgPiB1bCA+IGxpOmhvdmVyID4gLmFycm93LWljb24tYm90dG9tOmFmdGVyLCAubWVudTNkbWVnYSA+IHVsID4gbGk6aG92ZXIgPiBhOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpLnJpZ2h0IHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubWVudTNkbWVnYSA+IHVsID4gbGkuZmlyc3Qge1xuICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpLmxhc3Qge1xuICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5tZW51M2RtZWdhID4gdWwgPiBsaS5mdWxsLXdpZHRoIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi5tZW51M2RtZWdhID4gdWwgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IGF1dG87XG59XG4ubWVudTNkbWVnYSA+IHVsID4gbGkgPiBhLCAubWVudTNkbWVnYSA+IHVsID4gbGkgPiBzcGFuIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBvdXRsaW5lOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpIHAgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5tZW51M2RtZWdhID4gdWwgPiBsaSAuaWNvbi1tZW51IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuLm1lbnUzZG1lZ2EgPiB1bCA+IGxpID4gLmFycm93LWljb24sIC5tZW51M2RtZWdhID4gdWwgPiBsaSA+IC5hcnJvdy1pY29uLWJvdHRvbSB7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWVudTNkbWVnYSA+IHVsID4gbGkubm8tbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1lbnUzZG1lZ2EgPiB1bCBsaSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xufVxuLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5tZW51M2RtZWdhID4gdWwgbGk6aG92ZXIgYSwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4ubWVudTNkbWVnYSA+IHVsIGxpID4gYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubWVudTNkbWVnYSA+IHVsIGxpID4gYS5oYXMtc3VibWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5tZW51M2RtZWdhID4gdWwgbGkgPiBhLmhhcy1zdWJtZW51OmJlZm9yZSB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxN3B4O1xuICBjb250ZW50OiBcIlxcZTgxZFwiO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cbi5tZW51M2RtZWdhIGRpdltjbGFzcyo9YW5pbWF0ZS1dIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLm1lbnUzZG1lZ2EgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW46IDAgMCAyMnB4IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuLm1lbnUzZG1lZ2Egc3Bhbi5hcnJvdy1pY29uOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NCU7XG4gIGxlZnQ6IDE2cHg7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlcjogc29saWQgI2ZmZjtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG4ubWVudTNkbWVnYSBzcGFuLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NiU7XG4gIGxlZnQ6IDhweDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyOiBzb2xpZCAjMzMzO1xuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLm1lbnUzZG1lZ2EgLm1lbnUtc2VhcmNoIGlucHV0W3R5cGU9dGV4dF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzk0MzUyO1xufVxuLm1lbnUzZG1lZ2EgLmNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLm1lbnUzZG1lZ2EgLmNvbnRlbnQ6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuLm1lbnUzZG1lZ2EgLnNlcGFyYXRlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG59XG4ubWVudTNkbWVnYSAuY2xlYXJmaXggPiAubWVudS10aXRsZSB7XG4gIG1hcmdpbjogMTBweCAyMHB4O1xufVxuLm1lbnUzZG1lZ2EgLmxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cbi5tZW51M2RtZWdhIC5yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLm1lbnUzZG1lZ2EgLmdyaWQtZGVtbyBbY2xhc3MqPWNvbC1sZ10ge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjQyLjI1LCAyNDIuMjUsIDI0Mi4yNSk7XG4gIGZvbnQtc2l6ZTogMS4xOXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG59XG4ubWVudTNkbWVnYSAuZnVsbC13aWR0aCAuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IC0xcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1lbnUzZG1lZ2EgLmltZ2NsYXNzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjE2Ljc1LCAyMTYuNzUsIDIxNi43NSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICM2NjY2NjY7XG59XG4ubWVudTNkbWVnYSAudGV4dCB7XG4gIHdpZHRoOiAyMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWVudTNkbWVnYSAubWVudS10aXRsZSB7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjE5cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogM3B4O1xufVxuLm1lbnUzZG1lZ2EgLmRlc2Mge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLm1lbnUzZG1lZ2EgLnNlcGFyYXRvciB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDBweCAwIDEwcHggMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUpO1xufVxuLm1lbnUzZG1lZ2EgLnNlcGFyYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSwgLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXMgPiBhIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzMzMztcbn1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLndwLW5vbi1kcm9wZG93biAuYnRuIHtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gIH1cbn1cbi5zZXBhcmF0b3I6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5tZW51LWhhcy1yZWxhdGVkLWNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG59XG4ubWVudS1oYXMtcmVsYXRlZC1jb21wb25lbnQgLmRyb3Bkb3duLW1lbnUge1xuICBsZWZ0OiAtMXB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgUkVTUE9OU0lWRSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTQ1JFRU4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGFzLWltYWdlIC5jb250ZW50IHtcbiAgICB3aWR0aDogNjAwcHg7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSAubWVudVRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgVkVSVElDQUwgU1RZTEUgT05MWSBTQ1JFRU4gKioqKioqKioqKioqKioqKioqKioqKi9cbiAgLm1lbnUzZG1lZ2EudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qKioqKioqKioqKioqKioqKiogKCgoSU4gUlRMIFZFUlNJT04pKSkgRmxvYXQgQ2hhbmdlZCBUbyBSaWdodCAqKioqKioqKioqKioqKioqKiovXG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5tZW51M2RtZWdhLnZlcnRpY2FsIC5kcm9wZG93bi1tZW51LmZseW91dC1tZW51IHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAubWVudTNkbWVnYS52ZXJ0aWNhbCAuZHJvcGRvd24tbWVudSB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAubWVudTNkbWVnYS52ZXJ0aWNhbCA+IHVsID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAubWVudTNkbWVnYS52ZXJ0aWNhbCBzcGFuLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcbiAgICBib3JkZXI6IHNvbGlkICMzMzM7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIH1cbiAgLm1lbnUzZG1lZ2EudmVydGljYWwgbGk6aG92ZXIgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XG4gICAgYm9yZGVyOiBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG4gIC5tZW51M2RtZWdhLnZlcnRpY2FsID4gdWwgPiBsaSB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTU9CSUxFKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWVudTNkbWVnYSBsaSAuc3ViIHtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5tZW51M2RtZWdhID4gdWwgbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5tZW51M2RtZWdhID4gdWwgbGkgPiBhLmhhcy1zdWJtZW51OmJlZm9yZSB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiA2cHggNHB4IDAgNHB4O1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gIH1cbiAgLm1lbnUzZG1lZ2EgPiB1bCB1bCBsaSA+IGEuaGFzLXN1Ym1lbnU6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1lbnUzZG1lZ2EgPiB1bCBsaSA+IGEuaGFzLXN1Ym1lbnU6aG92ZXI6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICM1MjZkZDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSAubWVudVRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgLmNvbnRhY3QtZm9ybSBpbnB1dFt0eXBlPXRleHRdLCAubWVudTNkbWVnYS5yZXNwb25zaXZlIC5jb250YWN0LWZvcm0gdGV4dGFyZWEge1xuICAgIHdpZHRoOiA5OCU7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsID4gbGkgPiBhLCAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSA+IC5hcnJvdy1pY29uLCAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSA+IC5hcnJvdy1pY29uLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgPiAuYXJyb3ctaWNvbjphZnRlciB7XG4gICAgYm9yZGVyOiBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgIWltcG9ydGFudDtcbiAgICAvKioqKioqKioqKiogUmlnaHQgQ2hhbmdlZCBUbyBMZWZ0KioqKioqKioqKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNSU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAubWVudTNkbWVnYS5yZXNwb25zaXZlIGxpIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgLmRyb3Bkb3duLW1lbnUgPiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHdyYXAgY29sdW1uO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgLmRyb3Bkb3duLW1lbnUgbGk6aG92ZXIsIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkgLmRyb3Bkb3duLW1lbnUgbGkuY3VycmVudCB7XG4gICAgYmFja2dyb3VuZDogIzM5NDI2MyAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSBsaSAuZHJvcGRvd24tbWVudSBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpIHtcbiAgICBib3JkZXItbGVmdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSwgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSBsaS5tZW51LW5vbi1kcm9wZG93biB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubWVudTNkbWVnYS5yZXNwb25zaXZlIC53cC1ub24tZHJvcGRvd24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSA+IHVsID4gbGksIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgbGkubWVudS1ub24tZHJvcGRvd24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUgPiB1bCA+IGxpID4gLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcbiAgICBsZWZ0OiA1JTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKkZvciBGdXR1cmUqKioqKioqKioqKioqKioqKioqL1xuLyoubWVudVRvZ2dsZSAubWVnYU1lbnVUb2dnbGUtaWNvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuNyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTZweDtcbn1cbi5tZW51VG9nZ2xlICAubWVnYU1lbnVUb2dnbGUtaWNvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC44KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLC00cHgsbnVsbCxudWxsLG51bGwsbnVsbCk7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIHJnYmEoMjMwLCAyMzAsIDIzMCwgMC45KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsLThweCxudWxsLG51bGwsbnVsbCxudWxsKTtcbiAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcbiAgICB9XG59XG5cbi5tZW51LXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuNyk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxNnB4O1xufSovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5QdXNoIE1lbnUgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubGFyZ2VEdXJhdGlvblRyYW5zaXRpb24sIC5wdXNoTWVudU9wZW4gLnRhYlBhbmVsQ29udGVudCwgLnB1c2hNZW51V3JhcHBlciAudGFicGFuZWxDb250ZW50LCAucHVzaE1lbnVXcmFwcGVyIC5wdXNoTWVudU9wZW4gLnRhYlBhbmVsU2V0LCAucHVzaE1lbnVUYWJQYW5lbCwgLnB1c2hNZW51U2ltcGxlTGlua3NXcmFwLCAucHVzaE1lbnVMaW5rc1dyYXAsIC5wdXNoTWVudU9wZW4gLnB1c2hNZW51VGFiUGFuZWwsIC5wdXNoTWVudU9wZW4gLnB1c2hNZW51TGlua3NXcmFwLCAucHVzaE1lbnVPcGVuIC5wdXNoTWVudVNpbXBsZUxpbmtzV3JhcCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMDBtcywgMTAwMG1zLCAwbXM7XG59XG5cbi5tYWluQ29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGxlZnQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ucHVzaE1lbnVPcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcmlnaHQ6IDA7XG59XG4ucHVzaE1lbnVPcGVuIC5wdXNoTWVudUxpbmtzV3JhcCwgLnB1c2hNZW51T3BlbiAucHVzaE1lbnVTaW1wbGVMaW5rc1dyYXAge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XG59XG4ucHVzaE1lbnVPcGVuIC5tYWluQ29udGVudCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMjFlbTtcbn1cbi5wdXNoTWVudU9wZW4gLnB1c2hNZW51TGlua3NXcmFwID4gbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuLnB1c2hNZW51T3BlbiAucHVzaE1lbnVUYWJQYW5lbCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuLnB1c2hNZW51T3BlbiAuaW1nUHVzaE1lbnVMb2dvIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHVzaE1lbnVMaW5rc1dyYXAge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcywgMzc1bXMsIDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBlYXNlLWluLW91dCwgbGluZWFyO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWR0aDogMTVlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDNlbTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDUwMDtcbn1cbi5wdXNoTWVudUxpbmtzV3JhcCA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogbWVkaXVtIG5vbmU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgbWFyZ2luOiAwLjYyNWVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAuOTM3NWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiA5NSU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTYuNzUsIDIxNi43NSwgMjE2Ljc1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4taGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC01JTtcbiAgei1pbmRleDogMDtcbn1cbi5wdXNoTWVudUxpbmtzV3JhcCA+IGxpOmhvdmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHJpZ2h0OiAwO1xufVxuLnB1c2hNZW51TGlua3NXcmFwID4gbGk6aG92ZXIgc3BhbiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnB1c2hNZW51TGlua3NXcmFwID4gbGkgPiBzcGFuIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250OiBib2xkIDE2cHggXCJTREZcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA5NSU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMjUwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCkgMHMsIHJpZ2h0IDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBjb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbn1cblxuLnB1c2hNZW51U2ltcGxlTGlua3NXcmFwIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zLCAwbXMsIDBtcztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMsIDM3NW1zLCAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgZWFzZS1pbi1vdXQsIGxpbmVhcjtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2lkdGg6IDE1ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgcmlnaHQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMzc1bXM7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMmVtO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNTAwO1xufVxuXG4ubWFpblBhZ2VzIHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIHdpZHRoOiAxMGVtO1xufVxuLm1haW5QYWdlcyBsaSB7XG4gIGJvcmRlci1ib3R0b206IG1lZGl1bSBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBtYXJnaW46IDAuNjI1ZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMC45Mzc1ZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMjUwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCkgMHMsIHJpZ2h0IDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBjb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDk1JTtcbiAgYmFja2dyb3VuZDogIzAwNWViODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuLm1haW5QYWdlcyBsaTpob3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHVzaE1lbnVUYWJQYW5lbCB7XG4gIHdpZHRoOiAyOGVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDM3NW1zO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IC0yOGVtO1xuICB6LWluZGV4OiA1MTA7XG59XG4ucHVzaE1lbnVUYWJQYW5lbCAucHVzaE1lbnVDbG9zZUljbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZTVlMmUwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMjUwbXMsIG9wYWNpdHkgMjUwbXMgZWFzZS1pbi1vdXQgMG1zO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4ucHVzaE1lbnVUYWJQYW5lbCAucHVzaE1lbnVDbG9zZUljbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJjMzM7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtaGVhZGluZyBhLCAucGFuZWwtcHVzaG1lbnUtbm9jaGlsZCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtYm9keSBsaSBhIHtcbiAgY29sb3I6ICNiNGIyYWQ7XG59XG5cbi5wdXNobWVudS1sZXZlbDEge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG4ucHVzaG1lbnUtbGV2ZWwxIC5wYW5lbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnB1c2hNZW51U2V0QWN0aXZlIHtcbiAgcmlnaHQ6IDI4ZW07XG59XG5cbi5mb3JjZTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKi0tIG1hc2tpbmcgdGhlIHBhZ2UgYWZ0ZXIgb3BlbmluZyBuYXZpZ2F0aW9uIC0tKi9cbi5wdXNoTWVudU92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ0LCA0NCwgNTEsIDApO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDBtcyBsaW5lYXIgMzc1bXMsIGJhY2tncm91bmQtY29sb3IgMzc1bXMgZWFzZS1pbi1vdXQgMG1zO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMDtcbn1cblxuLnB1c2hNZW51T3BlbiAucHVzaE1lbnVPdmVybGF5IHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NCwgNDQsIDUxLCAwLjkpO1xuICBjdXJzb3I6IHVybChcIi9BcHBfVGhlbWVzL0RlZmF1bHQtZmEtSVIvaW1hZ2VzL2N1cnNvci1jbG9zZS5wbmdcIiksIGF1dG87XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zLCAwbXMsIDM3NW1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhciwgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDUwMDtcbn1cbi5wdXNoTWVudU9wZW4gLnB1c2hNZW51VGFiUGFuZWwge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDUwMDtcbn1cblxuLnB1c2hNZW51V3JhcHBlciB7XG4gIHdpZHRoOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDgwMzA7XG59XG5cbi8qY2xvc2UgbmF2aWdhdGlvbiBieSBjbGlja2luZyBvbiBvdmVybGF5IHNlY3Rpb24qL1xuLnRhYnBhbmVsU2V0Q2xvc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtMjhlbTtcbn1cblxuLnB1c2hNZW51Q2xvc2Uge1xuICByaWdodDogMDtcbn1cblxuLypzdHlsZXMgZm9yIGhhbWJ1cmdlciBhbmQgY2xvc2UgYnV0dG9uICovXG4ucHVzaE1lbnVXcmFwcGVyIC5wdXNoTWVudU9wZW4gLnRhYlBhbmVsU2V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnB1c2hNZW51V3JhcHBlciAudGFiUGFuZWxTZXQge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHdpZHRoIDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgcmlnaHQgMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMzc1bXM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnB1c2hNZW51V3JhcHBlciAudGFicGFuZWxDb250ZW50IHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXJlY3Rpb246IGx0cjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDM3NW1zO1xufVxuXG4ucHVzaE1lbnVPcGVuIC50YWJQYW5lbENvbnRlbnQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XG59XG5cbi50YWJwYW5lbENvbnRlbnQgLmNvbnRlbnQge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgY29sb3I6ICNmZmY7XG59XG4udGFicGFuZWxDb250ZW50IC5jb250ZW50IGEge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIGNsb3NlIGJveCAqL1xuLnB1c2hNZW51Q2xvc2VJY28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXI6IG1lZGl1bSBub25lO1xuICBjb2xvcjogI2I0YjJhZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDNlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDtcbn1cbi5wdXNoTWVudUNsb3NlSWNvOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMC4xOGVtIHNvbGlkICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXRvcC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcztcbiAgd2lkdGg6IDQwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xufVxuLnB1c2hNZW51Q2xvc2VJY286OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDAuMThlbSBzb2xpZCAjZmZmO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci10b3AtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gIHdpZHRoOiA0MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5tYWluLW5hdi1vcGVuIC5wdXNoTWVudVRhYlBhbmVsIC5wdXNoTWVudUNsb3NlSWNvLCAucHVzaE1lbnVUYWJQYW5lbCAucHVzaE1lbnVDbG9zZUljbyB7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zLCAwbXMsIDEwMDBtcztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4vKiBIYW1idXJnZXIgSWNvbiAqL1xuLnB1c2hNZW51V3JhcHBlciAuaGFtYnVyZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3OCwgMTczLCAwLjUpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zLCAzNzVtcywgMzc1bXMsIDM3NW1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0LCBsaW5lYXI7XG4gIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgcGFkZGluZy1yaWdodCAyNTBtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDM3NW1zLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMG1zO1xuICB3aWR0aDogNWVtO1xuICBoZWlnaHQ6IDRlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuNWVtIDIuNWVtIDFlbSAzZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtNmVtO1xuICB6LWluZGV4OiA5OTk5O1xufVxuLnB1c2hNZW51V3JhcHBlciAuaGFtYnVyZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0O1xuICByaWdodDogMDtcbn1cbi5wdXNoTWVudVdyYXBwZXIgLmhhbWJ1cmdlcjpob3ZlciBpIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5wdXNoTWVudVdyYXBwZXIgLmhhbWJ1cmdlciBpIHtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNsZWFyOiBib3RoO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uaGlkZVB1c2hNZW51TGlua3MgLmhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IC0xZW07XG4gIHotaW5kZXg6IDk5OTk7XG59XG4uaGlkZVB1c2hNZW51TGlua3MgLmhhbWJ1cmdlcjpob3ZlciB7XG4gIHJpZ2h0OiAtMC4zZW07XG59XG4uaGlkZVB1c2hNZW51TGlua3MgLnB1c2hNZW51TGlua3NXcmFwIHtcbiAgcmlnaHQ6IC0yOGVtO1xufVxuXG4uc2hvd1B1c2hNZW51TGlua3MgLnB1c2hNZW51TGlua3NXcmFwIHtcbiAgcmlnaHQ6IDA7XG59XG4uc2hvd1B1c2hNZW51TGlua3MgLmhhbWJ1cmdlciB7XG4gIHJpZ2h0OiAtNmVtO1xufVxuXG4ucHVzaE1lbnVPcGVuLnNob3dQdXNoTWVudUxpbmtzIC5wdXNoTWVudUxpbmtzV3JhcCB7XG4gIHJpZ2h0OiAyOGVtO1xufVxuXG4ucGFuZWwtcHVzaG1lbnUsIC5wYW5lbC1wdXNobWVudS1ub2NoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMmMyYzMzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cztcbn1cblxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1oZWFkaW5nIHtcbiAgbWFyZ2luLWxlZnQ6IDM5cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xufVxuLnBhbmVsLXB1c2htZW51IC5wYW5lbC1oZWFkaW5nOmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYzJjMzMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XG59XG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmcgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucGFuZWwtcHVzaG1lbnUtbm9jaGlsZDpob3ZlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xufVxuLnBhbmVsLXB1c2htZW51LW5vY2hpbGQgYSB7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmc6aG92ZXIgYSwgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQ6aG92ZXIgYSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG59XG5cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IDA7XG59XG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzJjMmMzMztcbiAgcGFkZGluZzogOHB4IDEwcHggOHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nLXJpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBwYWRkaW5nLWxlZnQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xuICBtYXJnaW4tcmlnaHQ6IDJlbTtcbn1cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtYm9keSBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IHBhZGRpbmctcmlnaHQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIHBhZGRpbmctbGVmdCAyNTBtcyBlYXNlLWluLW91dCAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMi41ZW07XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtYm9keSBsaTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGkgOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnBhbmVsLXB1c2htZW51IHVsIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYzJjMzM7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmdbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtaGVhZGluZ1thcmlhLWV4cGFuZGVkPXRydWVdOmFmdGVyIHtcbiAgY29udGVudDogXCJcXGU5MzZcIjtcbiAgY29sb3I6ICM3ZTdlN2M7XG4gIGZvbnQ6IDE4cHgvNDFweCBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6ICMxNjE2MWE7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDQsIDQ0LCA1MSwgMC41KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtNDBweDtcbn1cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtaGVhZGluZ1thcmlhLWV4cGFuZGVkPXRydWVdOmhvdmVyOjphZnRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnBhbmVsLXB1c2htZW51IC5jb2xsYXBzZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucGFuZWwtcHVzaG1lbnUgLmNvbGxhcHNlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG4gIGNvbG9yOiAjN2U3ZTdjO1xuICBmb250OiAxOHB4LzQxcHggXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjMTYxNjFhO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDQ0LCA0NCwgNTEsIDAuNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTQwcHg7XG59XG4ucGFuZWwtcHVzaG1lbnUgLmNvbGxhcHNlZDpob3Zlcjo6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhbmVsLXB1c2htZW51LW5vY2hpbGQge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG59XG5cbi5wYW5lbC1wdXNobWVudSAucGFuZWwtYm9keSAucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWJvZHkgbGk6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKlB1c2ggTWVudSBMb2dvICovXG4ucHVzaE1lbnVXcmFwcGVyIC5wdXNoTWVudUxvZ28ge1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wdXNoTWVudVdyYXBwZXIgLmltZ1B1c2hNZW51TG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi8qIFB1c2ggTWVudSBTZWFyY2hCb3ggKi9cbi5wdXNoTWVudVNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuLnB1c2hNZW51U2VhcmNoQm94IC5nZW5lcmFsU2VhcmNoQm94IC5pbnB1dC1ncm91cCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NjY2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAzMHB4IDE4cHggMCAxOHB4O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuLnB1c2hNZW51U2VhcmNoQm94IC5nZW5lcmFsU2VhcmNoQm94IC5pbnB1dC1ncm91cCBpbnB1dDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4ucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3gsIC5wdXNoTWVudVNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCAuZm9ybS1ncm91cCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnB1c2hNZW51U2VhcmNoQm94IC5nZW5lcmFsU2VhcmNoQm94IGEge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGhlaWdodDogMjVweDtcbiAgbWFyZ2luOiAycHg7XG4gIHBhZGRpbmc6IDRweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAzMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjtcbn1cbi5wdXNoTWVudVNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCBhOmhvdmVyLCAucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3ggYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZmMwZWEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM0ZmMwZWE7XG59XG4ucHVzaE1lbnVTZWFyY2hCb3ggLmdlbmVyYWxTZWFyY2hCb3ggYTpob3ZlciBpOjpiZWZvcmUsIC5wdXNoTWVudVNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCBhOmZvY3VzIGk6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiB0YWIgcGFuZWwgbmV3cyBzdHlsZSAqL1xuLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtIGEsIC5wdXNoTWVudVdyYXBwZXIgLm5ld3NMaXN0RGF0ZSB7XG4gIGNvbG9yOiAjYjRiMmFkO1xufVxuLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYzJjMzM7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xufVxuLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtOmhvdmVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG59XG4ucHVzaE1lbnVXcmFwcGVyIC5uZXdzTGlzdEl0ZW0gYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xufVxuLnB1c2hNZW51V3JhcHBlciAubmV3c0xpc3RJdGVtIGE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIiAhaW1wb3J0YW50O1xufVxuXG4uc2Nyb2xsVG9Ub3Age1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQ6IHJlZDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oYW1idXJnZXIge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICByaWdodDogLTFlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5wdXNoTWVudVNpbXBsZUxpbmtzV3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucHVzaE1lbnVMaW5rc1dyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnB1c2hNZW51VGFiUGFuZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnRhYnBhbmVsQ29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnB1c2hNZW51V3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnB1c2hNZW51VGFiUGFuZWwge1xuICAgIHJpZ2h0OiAtMTMzJTtcbiAgfVxuICAucHVzaE1lbnVPcGVuIC5wdXNoTWVudVRhYlBhbmVsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICByaWdodDogMDtcbiAgfVxuICAudGFicGFuZWxDb250ZW50IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICAudGFicGFuZWxDb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIH1cbiAgLnB1c2hNZW51T3BlbiAuaGFtYnVyZ2VyIHtcbiAgICByaWdodDogLTZlbTtcbiAgfVxuICAucHVzaE1lbnVUYWJQYW5lbCAubmV3c0xpc3RJdGVtIC5uZXdzSW1hZ2UsIC5wdXNoTWVudU92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnB1c2hNZW51V3JhcHBlciB7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgLnB1c2hNZW51V3JhcHBlciAudGFicGFuZWxDb250ZW50IHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAucHVzaE1lbnVUYWJQYW5lbCB7XG4gICAgd2lkdGg6IDgwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogLTEzMyU7XG4gICAgei1pbmRleDogODAzMDtcbiAgfVxufVxuLyoqKioqKioqTmlnaHQgTW9kZSoqKioqKioqKi9cbi5uaWdodC1tb2RlIHtcbiAgYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgY29sb3I6ICNCMEIwQjAgIWltcG9ydGFudDtcbn1cbi5uaWdodC1tb2RlIC5tYWluSGVhZGVyV3JhcCB7XG4gIGJhY2tncm91bmQ6ICMxRDFEMUQ7XG59XG4ubmlnaHQtbW9kZSAubWFpbkNvbnRlbnRXcmFwID4gLmNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICMxRDFEMUQ7XG59XG4ubmlnaHQtbW9kZSAucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQ6ICMxRDFEMUQgIWltcG9ydGFudDtcbn1cbi5uaWdodC1tb2RlIC5wYW5lbC1ib2R5IC5jb250ZW50IHtcbiAgY29sb3I6ICNCMEIwQjA7XG59XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgUGFyYWxsYXggKioqKioqKioqKioqKi9cbi5wYXJhbGxheCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKiBFbmQgT2YgUGFyYWxsYXggKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblByaW50VmVyc2lvbiAgICAgICAgICAgICAgICAgICBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSBwcmludCB7XG4gIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAubm9QcmludCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQWRtaW5CYXIgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYWRtaW5iYXIge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgbWFyZ2luLXRvcDogLTUxcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDgwMjA7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBiYWNrZ3JvdW5kOiAjMUMyMzMxO1xuICBwYWRkaW5nOiA3cHggMjBweCA4cHg7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xufVxuLmFkbWluYmFyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB3aWR0aDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xN3B4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG59XG4uYWRtaW5iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NjNcIjtcbiAgZm9udC1mYW1pbHk6IFwiR2x5cGhpY29ucyBIYWxmbGluZ3NcIjtcbiAgY29sb3I6ICMxMTE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICB3aWR0aDogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICBsZWZ0OiAzcHg7XG4gIHotaW5kZXg6IDA7XG4gIGhlaWdodDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2UtaW4tb3V0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYWRtaW5iYXI6aG92ZXI6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLmFkbWluYmFyIC5xdWlja2xpbmtzIHtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG4uYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwge1xuICBtYXJnaW46IDA7XG59XG4uYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwgbGkgYSB7XG4gIGNvbG9yOiByZ2IoMjQyLjI1LCAyNDIuMjUsIDI0Mi4yNSk7XG4gIHBhZGRpbmc6IDAgOHB4IDAgN3B4O1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uYWRtaW5iYXIgLnF1aWNrbGlua3MgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMGJiM2Y5O1xufVxuLmFkbWluYmFyIC5xdWlja2xpbmtzIHVsIGxpIGEgLmdseXBoaWNvbi1tYW5hIHtcbiAgdG9wOiAtMXB4O1xufVxuLmFkbWluYmFyIC5xdWlja2xpbmtzIHVsIGxpIGEgLmdseXBoaWNvbi1tYW5hOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cbi5hZG1pbmJhciAucXVpY2tsaW5rcyB1bCBsaSBhIC5nbHlwaGljb24tc3RhdHMge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbn1cbi5hZG1pbmJhciAucXVpY2tsaW5rcyB1bC5uYXYgbGkubXlBY2NvdW50IGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi9Db21wb25lbnRzL1NpdGVNZW1iZXIvUmVzb3VyY2VzL0ltYWdlcy9BdmF0YXIucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xufVxuLmFkbWluYmFyIC5xdWlja2xpbmtzIHVsLm5hdiBsaSA+IGE6aG92ZXIsIC5hZG1pbmJhciAucXVpY2tsaW5rcyB1bC5uYXYgbGkgPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnNob3dBZG1pbi5hZG1pbmJhciB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uc2hvd0FkbWluLmFkbWluYmFyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmFkbWluQmFyV3JhcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLypAaW1wb3J0IFwiUGFydGlhbHMvTWFpbkxvZ29cIjsqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuRGF0ZSAgICAgICAgICAgICAgICAgICBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5nZW5lcmFsQ3VycmVudERhdGVUaW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZGF0ZXRpbWVTZXBhcmF0b3Ige1xuICBwYWRkaW5nOiAwIDRweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU2VhcmNoICAgICAgICAgICAgICAgICAgIFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmVjby1zZWFyY2gtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDk5OTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xufVxuLmVjby1zZWFyY2gtYm94IC5zZWFyY2hXaXRoU3VnZ2VzdGlvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjMTgyMzUwO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQjk5MTVFO1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmVjby1zZWFyY2gtYm94IC5zZWFyY2hXaXRoU3VnZ2VzdGlvbiAuYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG59XG4uZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMzMzMzMzMzMyk7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogODAwcHg7XG59XG4uZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwgLmVjby1zZWFyY2gtYm94IC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cbi5lY28tc2VhcmNoLWJveCAuaW5wdXQtZ3JvdXAtYnRuIGEge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwLWJ0biBhIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA5OTk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lY28tc2VhcmNoLWJveEluZHVzdHJ5IC5zZWFyY2hXaXRoU3VnZ2VzdGlvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRURFQkRFO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMUIxNzE2O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmVjby1zZWFyY2gtYm94SW5kdXN0cnkgLnNlYXJjaFdpdGhTdWdnZXN0aW9uIC5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjMUIxNzE2O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgd2lkdGg6IDEwMHB4O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMDtcbn1cbi5lY28tc2VhcmNoLWJveEluZHVzdHJ5IC5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmVjby1zZWFyY2gtYm94SW5kdXN0cnkgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzMzMzMzMzMzMyk7XG4gIGNvbG9yOiAjMUIxNzE2O1xuICB3aWR0aDogODAwcHg7XG59XG4uZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLCAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG4uZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuaW5wdXQtZ3JvdXAtYnRuIGEge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjODEwMTAwO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuaW5wdXQtZ3JvdXAtYnRuIGEgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5lY28tc2VhcmNoLWJveE5ldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA5OTk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cbi5lY28tc2VhcmNoLWJveE5ldyAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24ge1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZDogcmdiYSgxMywgNTgsIDUzLCAwLjkzMzMzMzMzMzMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmVjby1zZWFyY2gtYm94TmV3IC5zZWFyY2hXaXRoU3VnZ2VzdGlvbiAuYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG59XG4uZWNvLXNlYXJjaC1ib3hOZXcgLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZWNvLXNlYXJjaC1ib3hOZXcgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTMzMzMzMzMzMyk7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogODAwcHg7XG59XG4uZWNvLXNlYXJjaC1ib3hOZXcgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwgLmVjby1zZWFyY2gtYm94TmV3IC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cbi5lY28tc2VhcmNoLWJveE5ldyAuaW5wdXQtZ3JvdXAtYnRuIGEge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uZWNvLXNlYXJjaC1ib3hOZXcgLmlucHV0LWdyb3VwLWJ0biBhIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmdSZWQgLnNlYXJjaFdpdGhTdWdnZXN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzkxMDAyOTtcbn1cbi5iZ1JlZCAuYnRuLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTEwMDI5ICFpbXBvcnRhbnQ7XG59XG5cbi5mbGV4U2VhcmNoQm94IC5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZmxleFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAgaW5wdXQge1xuICBvcmRlcjogMjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW46IDJweDtcbiAgYmFja2dyb3VuZDogIzI2MmM0NDtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuLmZsZXhTZWFyY2hCb3ggLmlucHV0LWdyb3VwIGxhYmVsIHtcbiAgb3JkZXI6IDE7XG4gIHBhZGRpbmc6IDVweCAxMHB4IDA7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLmZsZXhTZWFyY2hCb3ggLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4ge1xuICBvcmRlcjogMztcbn1cbi5mbGV4U2VhcmNoQm94IC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuIC5idG4ge1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5nZW5lcmFsU2VhcmNoQm94IC5pbnB1dC1ncm91cCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG59XG4uZ2VuZXJhbFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAgaW5wdXQge1xuICBjb2xvcjogIzg4OTRiNztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZ2VuZXJhbFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAgaW5wdXQ6Zm9jdXMge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xufVxuLnNlYXJjaHRpdGxlIHtcbiAgY29sb3I6ICMwMDAwY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5zZWFyY2h0aXRsZTpsaW5rIHtcbiAgY29sb3I6ICMwMDAwY2M7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmEuc2VhcmNodGl0bGU6dmlzaXRlZCwgYS5zZWFyY2h0aXRsZTphY3RpdmUge1xuICBjb2xvcjogIzU1MUE4QjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hLnNlYXJjaHRpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICNlYjc2Mjk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBib3JkZXItYm90dG9tOiAjZWI3NjI5IDAgc29saWQ7XG59XG5cbi5zZWFyY2hoaWdobGlnaHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnNlYXJjaGNvdW50ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnNlYXJjaGFkZHJlc3Mge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBjb2xvcjogIzAwODAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmEuc2VhcmNoYWRkcmVzczpsaW5rIHtcbiAgY29sb3I6ICMwMDgwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmEuc2VhcmNoYWRkcmVzczpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5hZGRyZXNzOnZpc2l0ZWQsIGEuYWRkcmVzczphY3RpdmUge1xuICBjb2xvcjogIzgyODRDQztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2VhcmNobW9yZXJlc3VsdCB7XG4gIGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG5hLnNlYXJjaG1vcmVyZXN1bHQ6bGluayB7XG4gIGNvbG9yOiAjODI4NENDO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hLnNlYXJjaG1vcmVyZXN1bHQ6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hjb250ZW50bGVuZ3RoIHtcbiAgY29sb3I6ICM4ZDhkOGQ7XG59XG5cbi5zZWFyY2hwYWdlbnVtYmVyIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5zZWFyY2hwYWdlbnVtYmVyIHVsLnBhZ2luYXRpb24ge1xuICBwYWRkaW5nOiAwO1xufVxuLnNlYXJjaHBhZ2VudW1iZXIgYS5zZWFyY2hwcmV2aW91czo6YWZ0ZXIge1xuICBjb250ZW50OiBcIsK7XCI7XG59XG4uc2VhcmNocGFnZW51bWJlciBhLnNlYXJjaG5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiwqtcIjtcbn1cblxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTZWFyY2ggU3R5bGUgKioqKioqKioqKioqKi9cbi5Db21wb25lbnRTZWFyY2hCb3hXcmFwIHtcbiAgbWFyZ2luOiAwIGF1dG8gMTBweCBhdXRvO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4ICNhYWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCAuY2Nic3dUb3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCAuY2Nic3dUb3Agc3Bhbi5jY2Jzd1RleHRUaXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNhZTE0MDY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmZmIDExJSwgcmdiKDI1MCwgMjUwLCAyNTApIDU2JSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCAuY2Nic3dNaWRkbGUgLmNjYnN3TWlkZGxlTGVmdCAuY2Nic3dNaWRkbGVSaWdodCAuY2Nic3dNaWRkbGVDb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjQzLCAyNDMsIDI0MykgMTglLCAjZmZmIDU5JSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG5cbi8qKioqKioqKioqKiogRW5kIE9mIFNlYXJjaCBDb21wb25lbnQgKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiogU3RhcnQgU2VhcmNoIE1vZHVsZSAqKioqKioqKioqKioqL1xuLm1vZHVsZVNlYXJjaFJlc3VsdFdyYXAge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0REREFEQTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERERBREE7XG4gIG1hcmdpbjogNXB4IDA7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDdweCAjZGRkO1xufVxuLm1vZHVsZVNlYXJjaFJlc3VsdFdyYXAgLnNlYXJjaEhlYWRlckxhYmVsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNmU2ZTZlO1xufVxuLm1vZHVsZVNlYXJjaFJlc3VsdFdyYXAgLnNlYXJjaERldGFpbHNIZWFkZXJMYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNmU2ZTZlO1xufVxuXG4ubW9kdWxlU2VhcmNoV3JhcCB7XG4gIGJhY2tncm91bmQ6IHVybChJbWFnZXMvTW9kdWxlU2VhcmNoL01vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdCByaWdodCB0b3A7XG4gIGhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMCA2cHggMCA2MXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubW9kdWxlU2VhcmNoV3JhcCAuYmdJbWFnZSB7XG4gIGJhY2tncm91bmQ6IHVybChJbWFnZXMvTW9kdWxlU2VhcmNoL01vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdDtcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC50eHRTZWFyY2hXcmFwIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuLm1vZHVsZVNlYXJjaFdyYXAgLnR4dFNlYXJjaFdyYXAgaW5wdXQge1xuICBtYXJnaW46IDdweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IGJsYWNrO1xuICBvdXRsaW5lOiAwO1xufVxuLm1vZHVsZVNlYXJjaFdyYXAgLmRyb3BEb3duV3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC02OHB4O1xuICBoZWlnaHQ6IDIzcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDNweDtcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAgLmFycm93RG93biB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC04MXB4IC01cHg7XG4gIHdpZHRoOiA5cHg7XG4gIG1hcmdpbjogMCAxMXB4IDAgNXB4O1xuICBoZWlnaHQ6IDdweDtcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC5kcm9wRG93bldyYXAgLm1vZHVsZVNlYXJjaFNlbGVjdCB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMjlweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC5tb2R1bGVTZWFyY2hTdWJtaXQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIHdpZHRoOiA1NXB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi5tb2R1bGVTZWFyY2hXcmFwIC5tb2R1bGVTZWFyY2hTdWJtaXQgLmJ0blN1Ym1pdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAzNHB4O1xuICB3aWR0aDogMzlweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCB7XG4gIGJhY2tncm91bmQ6IHVybChJbWFnZXMvTW9kdWxlU2VhcmNoL1NtYWxsTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0IHJpZ2h0IHRvcDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBwYWRkaW5nOiAwIDZweCAwIDI3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLmJnSW1hZ2Uge1xuICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9TbWFsbE1vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdDtcbn1cbi5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLnR4dFNlYXJjaFdyYXAge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGhlaWdodDogMjJweDtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG4uc21hbGxNb2R1bGVTZWFyY2hXcmFwIC50eHRTZWFyY2hXcmFwIGlucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogYmxhY2s7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xufVxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAuZHJvcERvd25XcmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTQ0cHg7XG4gIGhlaWdodDogMTdweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgcmlnaHQ6IDNweDtcbn1cbi5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLmRyb3BEb3duV3JhcCBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGhlaWdodDogMTVweDtcbn1cbi5zbWFsbE1vZHVsZVNlYXJjaFdyYXAgLmRyb3BEb3duV3JhcCAuYXJyb3dEb3duIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzcHggMDtcbiAgd2lkdGg6IDdweDtcbiAgbWFyZ2luOiAwO1xufVxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAuZHJvcERvd25XcmFwIC5tb2R1bGVTZWFyY2hTZWxlY3Qge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7XG4gIG91dGxpbmU6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTk5O1xufVxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCAubW9kdWxlU2VhcmNoU3VibWl0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB3aWR0aDogMjFweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG4uc21hbGxNb2R1bGVTZWFyY2hXcmFwIC5tb2R1bGVTZWFyY2hTdWJtaXQgLmJ0blN1Ym1pdCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDIxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuTGFuZ3VhZ2UgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc2VsZWN0TGFuZ3VhZ2VXcmFwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMTJweCAwO1xufVxuLnNlbGVjdExhbmd1YWdlV3JhcCB1bCB7XG4gIG1hcmdpbjogMDtcbn1cbi5zZWxlY3RMYW5ndWFnZVdyYXAgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAzcHg7XG59XG4uc2VsZWN0TGFuZ3VhZ2VXcmFwIHVsIGxpIGEge1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luOiAwIDNweDtcbn1cbi5zZWxlY3RMYW5ndWFnZVdyYXAgdWwgbGk6bGFzdC1jaGlsZCBhOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuVG9vbHMgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZ2VuZXJhbFRvb2xzQm94IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZ2VuZXJhbFRvb2xzQm94ID4gZGl2IHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5nZW5lcmFsVG9vbHNCb3ggPiBkaXY6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNGZjMGU4O1xufVxuLmdlbmVyYWxUb29sc0JveCBhIHtcbiAgY29sb3I6ICMyNjJjNDQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxcztcbn1cbi5nZW5lcmFsVG9vbHNCb3ggLmdseXBoaWNvbiB7XG4gIHBhZGRpbmc6IDAgMnB4O1xufVxuLmdlbmVyYWxUb29sc0JveCAuc29jaWFsTmV0d29ya0l0ZW1XcmFwIGEgLmdseXBoaWNvbiB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50ZWxsYWZyaWVuZFBhZ2UgLmZvcm1MYWJlbCB7XG4gIHdpZHRoOiAxMTBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU29jaWFsIE5ldHdvcmsgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uc29jaWFsTmV0d29ya3NXcmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4uc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cbi5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEge1xuICBjb2xvcjogIzRmYzBlYTtcbiAgZm9udC1zaXplOiAwO1xufVxuLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIC5nbHlwaGljb24ge1xuICBmb250LXNpemU6IDI3cHg7XG4gIGNvbG9yOiAjNGZjMGVhO1xufVxuXG4uc29pY2FsQm94Rml4OmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4uc29pY2FsQm94Rml4OmZvY3VzLXdpdGhpbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLnNvaWNhbEJveEZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMDBweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDA7XG4gIG1heC13aWR0aDogMzMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cbi5zb2ljYWxCb3hGaXggLnBhbmVsLXN0eWxlMS5wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnNvaWNhbEJveEZpeCAucGFuZWwtc3R5bGUxLnBhbmVsIC5wYW5lbC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xufVxuLnNvaWNhbEJveEZpeCAucGFuZWwtc3R5bGUxLnBhbmVsIC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc29pY2FsQm94Rml4IC5wYW5lbC1zdHlsZTEucGFuZWwgLnBhbmVsLWhlYWRpbmcgLmJveC10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTEwcHg7XG4gIHRvcDogNTglO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogIzg1MTgyQztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDEycHggMTJweDtcbiAgbWFyZ2luOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZSg1MCUsIC0xMDAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxNDVweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAyMDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxNDVweDtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCAubGlua2VkaW5XcmFwcGVyIHtcbiAgb3JkZXI6IDE7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgLmJhbGVXcmFwcGVyIHtcbiAgb3JkZXI6IDc7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgLmFwYXJhdFdyYXBwZXIge1xuICBvcmRlcjogNTtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCAuc29yb3VzaFdyYXBwZXIge1xuICBvcmRlcjogNjtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCAudGVsZWdyYW1XcmFwcGVyIHtcbiAgb3JkZXI6IDM7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgLndoYXRzYXBwV3JhcHBlciB7XG4gIG9yZGVyOiAyO1xufVxuLnNvaWNhbEJveEZpeCAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIC5pbnN0YWdyYW1XcmFwcGVyIHtcbiAgb3JkZXI6IDQ7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgLmVpdGFhV3JhcHBlciB7XG4gIG9yZGVyOiA4O1xufVxuLnNvaWNhbEJveEZpeCAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTJweDtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIHtcbiAgZm9udC1zaXplOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgbGkgYSAuZ2x5cGhpY29uLXNvcm91c2g6OmJlZm9yZSB7XG4gIGNvbG9yOiAjMzI4OEExO1xufVxuLnNvaWNhbEJveEZpeCAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEgLmdseXBoaWNvbi13aGF0c2FwcDo6YmVmb3JlIHtcbiAgY29sb3I6ICM0NUMzMzk7XG59XG4uc29pY2FsQm94Rml4IC5zb2NpYWxOZXR3b3Jrc1dyYXBwZXIgdWwgbGkgYSAuZ2x5cGhpY29uLXRlbGVncmFtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTc0OVwiO1xuICBjb2xvcjogIzFCOTJEMTtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIC5nbHlwaGljb24tYXBhcmF0OjpiZWZvcmUge1xuICBjb2xvcjogI0REMTY1RjtcbiAgY29udGVudDogXCJcXGU3MDFcIjtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIC5nbHlwaGljb24taW5zdGFncmFtOjpiZWZvcmUge1xuICBjb2xvcjogI0UzMTM3NTtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIC5nbHlwaGljb24tbGlua2VkaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODkyXCI7XG4gIGNvbG9yOiAjMzE4MkRGO1xufVxuLnNvaWNhbEJveEZpeCAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEgLmdseXBoaWNvbi1iYWxlOjpiZWZvcmUge1xuICBjb2xvcjogIzA5QkE4Qjtcbn1cbi5zb2ljYWxCb3hGaXggLnNvY2lhbE5ldHdvcmtzV3JhcHBlciB1bCBsaSBhIC5nbHlwaGljb24tZWl0YWE6OmJlZm9yZSB7XG4gIGNvbG9yOiAjRkY3NTBDO1xufVxuLnNvaWNhbEJveEZpeCAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHVsIGxpIGEgLmdseXBoaWNvbiB7XG4gIGZvbnQtc2l6ZTogMjdweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU3dpdGNoQmFyICAgICAgICAgICAgICAgICAgIFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2dlbmVyYWxTd2l0Y2hCYXJXcmFwcGVyIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN3aXRjaEJhciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjb2xvcjogIzZhNmE2YTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xufVxuLnN3aXRjaEJhciBhIHtcbiAgY29sb3I6ICM2YTZhNmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG4gIGZvbnQtc2l6ZTogMS4xOXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXRjaEJhciBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zd2l0Y2hCYXIgPiBzcGFuIHtcbiAgcGFkZGluZzogMHB4IDVweDtcbn1cblxuLnN3aXRjaEJhclNlbGVjdGVkIHtcbiAgY29sb3I6ICM1ODU4NWE7XG59XG4uc3dpdGNoQmFyU2VsZWN0ZWQ6bGluaywgLnN3aXRjaEJhclNlbGVjdGVkOnZpc2l0ZWQsIC5zd2l0Y2hCYXJTZWxlY3RlZDphY3RpdmUge1xuICBjb2xvcjogIzRmYzBlYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKkJyZWFkY3J1bWIqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5icmVhZGNydW1iIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmJyZWFkY3J1bWIgPiBsaSArIGxpOmJlZm9yZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzZhNmE2YTtcbn1cbi5icmVhZGNydW1iID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjNmE2YTZhO1xuICBsaW5lLWhlaWdodDogMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiU0RGXCI7XG59XG4uYnJlYWRjcnVtYiA+IGxpID4gYTpob3ZlciwgLmJyZWFkY3J1bWIgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICM0ZmMwZWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuUGFnZSBOYXZpZ2F0ZSAgICAgICAgICAgICAgICAgICBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5nb1RvVG9wIHtcbiAgd2lkdGg6IDQ2cHg7XG4gIGhlaWdodDogNDZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDYlO1xuICBsZWZ0OiAzJTtcbiAgei1pbmRleDogOTk5O1xuICBwYWRkaW5nOiAxMnB4O1xuICBkaXNwbGF5OiBub25lO1xuICBib3gtc2hhZG93OiAwcHggNXB4IDZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDMxcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjNGZjMGVhO1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcbn1cbi5nb1RvVG9wOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZ29Ub1RvcDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiAwLjZzO1xuICBmb250OiBub3JtYWwgMC44ZW0vMjdweCBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgTGluZWFyIEZvb3RlciAqKioqKioqKioqKioqL1xuLmxpbmVhckZvb3RlciB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxpbmVhckZvb3RlciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5saW5lYXJGb290ZXIgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuLmxpbmVhckZvb3RlciB1bCBsaSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IDAuNHMgYWxsO1xufVxuLmxpbmVhckZvb3RlciB1bCBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICM1MGMxZTk7XG59XG4ubGluZWFyRm9vdGVyIHVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogXCLil49cIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGNvbG9yOiAjNzU4MmIxO1xufVxuLmxpbmVhckZvb3RlciB1bCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKiBHZW5yYWwgRm9vdGVyIExpbmtzICoqKioqKioqKioqKioqKi9cbi5mb290ZXJOYXYgLmZvb3Rlckl0ZW0ge1xuICBwYWRkaW5nOiAyMHB4IDA7XG59XG4uZm9vdGVyTmF2IC5mb290ZXJJdGVtIGg1IGEge1xuICBjb2xvcjogIzRmYzFlOTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uZm9vdGVyTmF2IC5mb290ZXJJdGVtIGg1IGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5mb290ZXJOYXYgdWwge1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xufVxuLmZvb3Rlck5hdiB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uZm9vdGVyTmF2IHVsIGxpIGEge1xuICBmb250LXNpemU6IDEuMTlyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAwO1xufVxuXG4uZ2VuZXJhbFBvd2VyZWRCeSB7XG4gIGNvbG9yOiAjYWNhY2FjO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbi5nZW5lcmFsUG93ZXJlZEJ5IGEge1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gIGNvbG9yOiAjYWNhY2FjO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi5nZW5lcmFsUG93ZXJlZEJ5IGE6aG92ZXIge1xuICBjb2xvcjogI2U0ZTRlNDtcbn1cblxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3ggU3R5bGUgKioqKioqKioqKioqKi9cbi5hY2NvcmRpb24tdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFBhbmVsLVN0eWxlcyAqKioqKioqKioqKioqL1xuLnBhbmVsLXN0eWxlMS5wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzOTQyNjM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2MztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgyLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDIsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGgzLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDMsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg1LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDUsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyA+IGg2LCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDYsXG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgYSA+IHNwYW46bm90KC5nbHlwaGljb24pLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgc3Bhbjpub3QoLmdseXBoaWNvbiksXG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgcCwgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIGEgPiBwIHtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxLjRyZW0gXCJTREZcIiwgVGFob21hO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBjb2xvcjogIzRmYzBlYTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyAuZ2x5cGhpY29uOmhvdmVyIHtcbiAgY29sb3I6ICM3NTgyYjE7XG59XG4ucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcgLm1vcmVUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI2RlZWRmMztcbiAgYmFja2dyb3VuZDogIzc1ODJiMTtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xufVxuLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIC5tb3JlVGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzRmYzBlYTtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5wYW5lbC1zdHlsZTEgPiAucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xufVxuLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1ib2R5IC5ib3hMYXN0VXBkYXRlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucGFuZWwtc3R5bGUxIHtcbiAgcGFkZGluZzogNHB4O1xufVxuLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFuZWwtc3R5bGUyLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4YmM3YjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGgyLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDIsIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGgzLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDMsIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGg1LCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDUsIC5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyA+IGg2LCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDYsXG4ucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgYSA+IHNwYW46bm90KC5nbHlwaGljb24pLCAucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgc3Bhbjpub3QoLmdseXBoaWNvbiksXG4ucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgcCwgLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nIGEgPiBwIHtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxLjRyZW0gXCJTREZcIiwgVGFob21hO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBjb2xvcjogIzRmYzBlYTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5wYW5lbC1zdHlsZTIgPiAucGFuZWwtaGVhZGluZyAuZ2x5cGhpY29uOmhvdmVyIHtcbiAgY29sb3I6ICM3NTgyYjE7XG59XG4ucGFuZWwtc3R5bGUyID4gLnBhbmVsLWhlYWRpbmcgLm1vcmVUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI2RlZWRmMztcbiAgYmFja2dyb3VuZDogIzc1ODJiMTtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xufVxuLnBhbmVsLXN0eWxlMiA+IC5wYW5lbC1oZWFkaW5nIC5tb3JlVGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzRmYzBlYTtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5wYW5lbC1zdHlsZTIgPiAucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4ICNhOGJjN2I7XG59XG4ucGFuZWwtc3R5bGUyID4gLnBhbmVsLWJvZHkgLmJveExhc3RVcGRhdGUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucGFuZWwtc3R5bGUzLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGgxLCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDEsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGgyLCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDIsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGgzLCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDMsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGg0LCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDQsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGg1LCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDUsIC5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyA+IGg2LCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgPiBhID4gaDYsXG4ucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgYSA+IHNwYW46bm90KC5nbHlwaGljb24pLCAucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgc3Bhbjpub3QoLmdseXBoaWNvbiksXG4ucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgcCwgLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIGEgPiBwIHtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCAxLjRyZW0gXCJTREZcIiwgVGFob21hO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBjb2xvcjogIzRmYzBlYTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cbi5wYW5lbC1zdHlsZTMgPiAucGFuZWwtaGVhZGluZyAuZ2x5cGhpY29uOmhvdmVyIHtcbiAgY29sb3I6ICM3NTgyYjE7XG59XG4ucGFuZWwtc3R5bGUzID4gLnBhbmVsLWhlYWRpbmcgLm1vcmVUaXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI2RlZWRmMztcbiAgYmFja2dyb3VuZDogIzc1ODJiMTtcbiAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UtaW4tb3V0O1xufVxuLnBhbmVsLXN0eWxlMyA+IC5wYW5lbC1oZWFkaW5nIC5tb3JlVGl0bGU6aG92ZXIge1xuICBjb2xvcjogIzRmYzBlYTtcbiAgYmFja2dyb3VuZDogIzM5NDI2MztcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5wYW5lbC1zdHlsZTMgPiAucGFuZWwtYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogc29saWQgMXB4ICNkYmRiZGI7XG59XG4ucGFuZWwtc3R5bGUzID4gLnBhbmVsLWJvZHkgLmJveExhc3RVcGRhdGUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYW5lbC1zdHlsZTQucGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU4N2IwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDEsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMSwgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDIsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMiwgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDMsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoMywgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDQsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNCwgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDUsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNSwgLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nID4gaDYsIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyA+IGEgPiBoNixcbi5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBhID4gc3Bhbjpub3QoLmdseXBoaWNvbiksIC5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBzcGFuOm5vdCguZ2x5cGhpY29uKSxcbi5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyBwLCAucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgYSA+IHAge1xuICBmb250OiBub3JtYWwgbm9ybWFsIDEuNHJlbSBcIlNERlwiLCBUYWhvbWE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgLmdseXBoaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGNvbG9yOiAjNGZjMGVhO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb246aG92ZXIge1xuICBjb2xvcjogIzc1ODJiMTtcbn1cbi5wYW5lbC1zdHlsZTQgPiAucGFuZWwtaGVhZGluZyAubW9yZVRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjZGVlZGYzO1xuICBiYWNrZ3JvdW5kOiAjNzU4MmIxO1xuICBib3JkZXI6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG59XG4ucGFuZWwtc3R5bGU0ID4gLnBhbmVsLWhlYWRpbmcgLm1vcmVUaXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjNGZjMGVhO1xuICBiYWNrZ3JvdW5kOiAjMzk0MjYzO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnBhbmVsLXN0eWxlNCA+IC5wYW5lbC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzVlODdiMDtcbn1cbi5wYW5lbC1zdHlsZTQgPiAucGFuZWwtYm9keSAuYm94TGFzdFVwZGF0ZSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhbmVsLXN0eWxlNS5wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoMSwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgxLCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoMiwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgyLCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoMywgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGgzLCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoNCwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg0LCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoNSwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg1LCAucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgPiBoNiwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nID4gYSA+IGg2LFxuLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIGEgPiBzcGFuOm5vdCguZ2x5cGhpY29uKSwgLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIHNwYW46bm90KC5nbHlwaGljb24pLFxuLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIHAsIC5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyBhID4gcCB7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgMS40cmVtIFwiU0RGXCIsIFRhaG9tYTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyAuZ2x5cGhpY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgY29sb3I6ICM0ZmMwZWE7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4ucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWhlYWRpbmcgLmdseXBoaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjNzU4MmIxO1xufVxuLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1oZWFkaW5nIC5tb3JlVGl0bGUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICNkZWVkZjM7XG4gIGJhY2tncm91bmQ6ICM3NTgyYjE7XG4gIGJvcmRlcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbn1cbi5wYW5lbC1zdHlsZTUgPiAucGFuZWwtaGVhZGluZyAubW9yZVRpdGxlOmhvdmVyIHtcbiAgY29sb3I6ICM0ZmMwZWE7XG4gIGJhY2tncm91bmQ6ICMzOTQyNjM7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGFuZWwtc3R5bGU1ID4gLnBhbmVsLWJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZDk1MzRmO1xufVxuLnBhbmVsLXN0eWxlNSA+IC5wYW5lbC1ib2R5IC5ib3hMYXN0VXBkYXRlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKioqKiogUGFuZWwgT3B0aW9ucyAqL1xuLnBhbmVsLWhlYWRpbmcgLnRpdGxlLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuOSAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzN3B4O1xufVxuLnBhbmVsLWhlYWRpbmcgLnRpdGxlLWJsb2NrIC5hY2NvcmRpb24tY2FyZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wYW5lbC1vcHRpb25zIHtcbiAgbWFyZ2luOiA2cHg7XG59XG4ucGFuZWwtb3B0aW9ucyAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgbWluLXdpZHRoOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzLCAucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMxYmJhZTE7XG4gIGJvcmRlci1jb2xvcjogIzFiYmFlMTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi5wYW5lbC1vcHRpb25zIC5idG4tdG9vbHMuYWN0aXZlLCAucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzLmFjdGl2ZTpmb2N1cywgLnBhbmVsLW9wdGlvbnMgLmJ0bi10b29sczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYmJhZTE7XG4gIGJvcmRlci1jb2xvcjogIzFiYmFlMTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYW5lbC1vcHRpb25zIC5idG4tc2hvcnRjdXQgLmdseXBoaWNvbixcbi5wYW5lbC1vcHRpb25zIC5idG4tdG9vbHMgLmdseXBoaWNvbiB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG59XG5cbi8qKioqKioqKioqKiogU3RhcnQgT2YgVGFiIFN0eWxlICoqKioqKioqKioqKiovXG4vKioqKioqKioqKioqIFRhYiBTdHlsZTEgKioqKioqKioqKioqKi9cbi50YWItY29udGFpbmVyLXN0eWxlMSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4udGFiLWNvbnRhaW5lci1zdHlsZTEgLm5hdi10YWJzIHtcbiAgcGFkZGluZzogMTBweCAxMHB4IDAgMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7XG4gIGJhY2tncm91bmQ6ICMzOTQyNjM7XG59XG4udGFiLWNvbnRhaW5lci1zdHlsZTEgLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi50YWItY29udGFpbmVyLXN0eWxlMSAubmF2LXRhYnMgPiBsaSA+IGEgLmdseXBoaWNvbiB7XG4gIHRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogN3B4O1xufVxuLnRhYi1jb250YWluZXItc3R5bGUxIC5uYXYtdGFicyA+IGxpID4gYTpob3ZlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi50YWItY29udGFpbmVyLXN0eWxlMSAubmF2LXRhYnMgPiBsaS5hY3RpdmUgYSB7XG4gIGNvbG9yOiAjMzk0MjYzO1xufVxuLnRhYi1jb250YWluZXItc3R5bGUxIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSBhOmhvdmVyLCAudGFiLWNvbnRhaW5lci1zdHlsZTEgLm5hdi10YWJzID4gbGkuYWN0aXZlIGE6Zm9jdXMge1xuICBjb2xvcjogIzI2MmM0NDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuLnRhYi1jb250YWluZXItc3R5bGUxIC50YWItY29udGVudCAudGFiLXBhbmUge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4vKioqKioqKioqKioqKiBUYWIgTW9iaWxlIFN0eWxlICoqKioqKioqKioqKioqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFiLXdyYXBwZXIgLnBhbmVsLWRlZmF1bHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLnRhYi13cmFwcGVyIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2MztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIC50YWItd3JhcHBlciAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5nbHlwaGljb24ge1xuICAgIHRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gIH1cbn1cbi8qKioqKioqKioqKiogRW5kIE9mIFRhYiBTdHlsZSAqKioqKioqKioqKioqL1xuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpub3QoLmdyaWRIZWFkZXIpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzRmYzBlYSAhaW1wb3J0YW50O1xufVxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5pbm5lckdyaWRXcmFwcGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUpICFpbXBvcnRhbnQ7XG59XG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnBhZ2VyQ3VzdG9tR3JpZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYigyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1KSAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipHcmF5IFNraW4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5ncmF5U2tpbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4rMSksIC5ncmF5U2tpbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkZmRmZGY7XG59XG5cbi5ncmF5U2tpbi5ncmlkSGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI2RmZGZkZiAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5pbm5lckdyaWRXcmFwcGVyIHtcbiAgYmFja2dyb3VuZDogcmdiKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUpICFpbXBvcnRhbnQ7XG59XG5cbi5pbm5lckdyaWQge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDJkMmQyICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4ICM5MDkwOTA7XG59XG4uaW5uZXJHcmlkLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZDogI2YzZjNmMyAhaW1wb3J0YW50O1xufVxuLmlubmVyR3JpZC50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpob3ZlcjpudGgtY2hpbGQoMm4rMSkge1xuICBiYWNrZ3JvdW5kOiAjNGZjMGVhICFpbXBvcnRhbnQ7XG59XG4uaW5uZXJHcmlkIC5pbm5lckdyaWQgLmdyaWRIZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2ICFpbXBvcnRhbnQ7XG59XG5cbi5ncmlkSGVhZGVyIHRoIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNiAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2QyZDJkMjtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLmdyaWRIZWFkZXIgdGggLmdseXBoaWNvbiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuUGFnZXIgICAgICAgICAgICAgICAgICAgXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29sLWNlbnRlcmVkIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG50ci5wYWdlckN1c3RvbUdyaWQge1xuICBiYWNrZ3JvdW5kOiAjZjBmM2Y2O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjBmM2Y2IDAsICNlMGUzZWEgMTAwJSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAjZjlmYWZiO1xufVxuXG4ucGFnZXJDdXN0b21HcmlkIHRkIHtcbiAgcGFkZGluZzogMDtcbn1cbi5wYWdlckN1c3RvbUdyaWQgc3BhbiB7XG4gIGNvbG9yOiAjMzczNzM3O1xuICBwYWRkaW5nOiAwIDJweDtcbiAgaGVpZ2h0OiAxNXB4O1xufVxuXG4ucGFnZXJDdXN0b21HcmlkVGFibGUge1xuICBkaXJlY3Rpb246IGx0cjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QwZDZlMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNmZmY7XG59XG4ucGFnZXJDdXN0b21HcmlkVGFibGUgdGQge1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbi5wYWdlckN1c3RvbUdyaWRDb3VudFRhYmxlIHRkIHtcbiAgcGFkZGluZzogNnB4O1xufVxuXG4ucGFnZXJDdXN0b21HcmlkTnVtYmVycyB7XG4gIGNvbG9yOiAjMmIzYTRhO1xuICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuLnBhZ2VyQ3VzdG9tR3JpZE51bWJlcnMgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBjb2xvcjogIzVjNmI4OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYS5wYWdlckN1c3RvbUdyaWQ6bGluayxcbmEucGFnZXJDdXN0b21HcmlkOmFjdGl2ZSxcbmEucGFnZXJDdXN0b21HcmlkOnZpc2l0ZWQsXG5hLnBhZ2VyQ3VzdG9tR3JpZE5leHQsXG5hLnBhZ2VyQ3VzdG9tR3JpZFByZXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxOHB4O1xuICBwYWRkaW5nOiAwIDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVjNmI4OTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzVjNmI4OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5wYWdlckN1c3RvbUdyaWQ6aG92ZXIsXG5hLnBhZ2VyQ3VzdG9tR3JpZE5leHQ6aG92ZXIsXG5hLnBhZ2VyQ3VzdG9tR3JpZFByZXY6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWVhNWIzO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhZ2VyTnVtYmVyVGV4dCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjMzczNzM3O1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgdW5pY29kZS1iaWRpOiBlbWJlZDtcbn1cblxuLnBhZ2VyQ2VsbERpciB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4ucGFnZXJDdXN0b21HcmlkQ2VsbCB7XG4gIGRpcmVjdGlvbjogcnRsO1xuICB3aWR0aDogMTEwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4ucGFnZXJDdXN0b21HcmlkQ2VsbCAuc2VsZWN0IHtcbiAgd2lkdGg6IDU1cHg7XG59XG5cbi5wYWdlckN1c3RvbUdyaWRDZWxsR290byB7XG4gIHdpZHRoOiAxMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucGFnZXJDdXN0b21HcmlkQ2VsbEdvdG8gLnRleHRib3gge1xuICB3aWR0aDogNTVweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wYWdlcldyYXBwZXIgYTpub3QoLnNlbGVjdGVkKTpub3QoLnByZXZpb3VzUGFnZSk6bm90KC5uZXh0UGFnZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqKioqKioqKioqKiBTdGFydCBPZiBQYWdlciBXcmFwcGVyICoqKioqKioqKioqKiovXG4ubm90aWZ5IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICB0b3A6IDZweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cbi5ub3RpZnkgLmhhcy1mZWVkYmFjayAudG9vbHRpcC5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG59XG4ubm90aWZ5IC5oYXMtZmVlZGJhY2sgLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgbGVmdDogLTRweDtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMjBweCAwIDAgMjBweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmZmEzO1xufVxuLm5vdGlmeSAuaGFzLWZlZWRiYWNrIC50b29sdGlwLmJvdHRvbSAudG9vbHRpcC1hcnJvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMTVweCAwIDAgMTVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZjFkMDMxO1xufVxuLm5vdGlmeSAuaGFzLWZlZWRiYWNrIC50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyNTBweDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICM5YTU1NzQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmEzO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWQwMzE7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IDAgcmdiYSgyMjEsIDIyMSwgMjIxLCAwLjg0KTtcbiAgZm9udC1zaXplOiAxLjE4ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuQmFzaWMgU3R5bGUgICAgICAgICAgICAgICAgICAgXG4qIFRoZXNlIHN0eWxlcyBhcmUgcmVxdWlyZWQgZm9yIG5vVWlTbGlkZXIgdG8gZnVuY3Rpb24uXG4qIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLm5vVWktdGFyZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbi5ub1VpLXRhcmdldCwgLm5vVWktdGFyZ2V0ICoge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm5vVWktYmFzZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5vVWktb3JpZ2luIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5ub1VpLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLm5vVWktc3RhY2tpbmcgLm5vVWktaGFuZGxlIHtcbiAgLyogVGhpcyBjbGFzcyBpcyBhcHBsaWVkIHRvIHRoZSBsb3dlciBvcmlnaW4gd2hlblxuICBpdHMgdmFsdWVzIGlzID4gNTAlLiAqL1xuICB6LWluZGV4OiAxMDtcbn1cblxuLm5vVWktc3RhY2tpbmcgKyAubm9VaS1vcmlnaW4ge1xuICAvKiBGaXggc3RhY2tpbmcgb3JkZXIgaW4gSUU3LCB3aGljaCBpbmNvcnJlY3RseVxuICBjcmVhdGVzIGEgbmV3IGNvbnRleHQgZm9yIHRoZSBvcmlnaW5zLiAqL1xuICB6LWluZGV4OiAtMTtcbn1cblxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcywgdG9wIDAuM3M7XG59XG5cbi5ub1VpLXN0YXRlLWRyYWcgKiB7XG4gIGN1cnNvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4vKioqKioqKioqKioqIFBhaW50aW5nIGFuZCBwZXJmb3JtYW5jZTtcbiogQnJvd3NlcnMgY2FuIHBhaW50IGhhbmRsZXMgaW4gdGhlaXIgb3duIGxheWVyLiAqKioqKioqKioqKioqL1xuLm5vVWktYmFzZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qKioqKioqKioqKiogU2xpZGVyIHNpemUgYW5kIGhhbmRsZSBwbGFjZW1lbnQgKioqKioqKioqKioqKi9cbi5ub1VpLWhvcml6b250YWwge1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi5ub1VpLWhvcml6b250YWwgLm5vVWktaGFuZGxlIHtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMjhweDtcbiAgbGVmdDogLTE3cHg7XG4gIHRvcDogLTZweDtcbn1cblxuLm5vVWktdmVydGljYWwge1xuICB3aWR0aDogMThweDtcbn1cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZSB7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGxlZnQ6IC02cHg7XG4gIHRvcDogLTE3cHg7XG59XG5cbi8qKioqKioqKioqKiogU3R5bGluZyAqKioqKioqKioqKioqL1xuLm5vVWktYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCAjZjBmMGYwO1xufVxuXG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogIzNGQjhBRjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuNDUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDQ1MG1zO1xufVxuXG4ubm9VaS1vcmlnaW4ge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5ub1VpLXRhcmdldCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QzRDNEMztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNGMEYwRjAsIDAgM3B4IDZweCAtNXB4ICNCQkI7XG59XG5cbi5ub1VpLXRhcmdldC5ub1VpLWNvbm5lY3Qge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoNTEsIDUxLCA1MSwgMC40NSksIDAgM3B4IDZweCAtNXB4ICNCQkI7XG59XG5cbi5yYW5nZVNsaWRlcldyYXBwZXIgLnZhbHVlVXBwZXIsIC5yYW5nZVNsaWRlcldyYXBwZXIgLnZhbHVlTG93ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5yYW5nZVNsaWRlcldyYXBwZXIgLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICM4MEM5RjU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSg1MSwgNTEsIDUxLCAwLjQ1KTtcbn1cblxuLyoqKioqKioqKioqKiBIYW5kbGVzIEFuZCBDdXJzb3JzICoqKioqKioqKioqKiovXG4ubm9VaS1kcmFnYWJsZSB7XG4gIGN1cnNvcjogdy1yZXNpemU7XG59XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWRyYWdhYmxlIHtcbiAgY3Vyc29yOiBuLXJlc2l6ZTtcbn1cblxuLm5vVWktaGFuZGxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2ZmZiwgaW5zZXQgMCAxcHggN3B4ICNFQkVCRUIsIDAgM3B4IDZweCAtM3B4ICNCQkI7XG59XG5cbi5ub1VpLWFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI2ZmZiwgaW5zZXQgMCAxcHggN3B4ICNEREQsIDAgM3B4IDZweCAtM3B4ICNCQkI7XG59XG5cbi8qKioqKioqKioqKiogSGFuZGxlIFN0cmlwcyAqKioqKioqKioqKioqL1xuLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNnB4O1xuICBsZWZ0OiAxNnB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6ICNFOEU3RTY7XG59XG5cbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGxlZnQ6IDE3cHg7XG59XG5cbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTpiZWZvcmUsIC5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogNnB4O1xuICB0b3A6IDE0cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB0b3A6IDE3cHg7XG59XG5cbi8qKioqKioqKioqKiogRGlzYWJsZWQgU3R5bGUgKioqKioqKioqKioqKi9cbltkaXNhYmxlZF0gLm5vVWktaGFuZGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbltkaXNhYmxlZF0ubm9VaS1jb25uZWN0LCBbZGlzYWJsZWRdIC5ub1VpLWNvbm5lY3Qge1xuICBiYWNrZ3JvdW5kOiAjQjhCOEI4O1xufVxuXG4vKkBpbXBvcnQgXCJQYXJ0aWFscy9CdXR0b25zXCI7Ki9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbk1lZGlhIFF1ZXJ5ICAgICAgICAgICAgICAgICAgIFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5lY28tc2VhcmNoLWJveCAuaW5wdXQtZ3JvdXAgLnNlYXJjaFRleHRCb3gge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgfVxuICAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuaW5wdXQtZ3JvdXAgLnNlYXJjaFRleHRCb3gge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgfVxuICAuZWNvLXNlYXJjaC1ib3hOZXcgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgICB3aWR0aDogNTAwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZWNvLXNlYXJjaC1ib3ggLnNlYXJjaFdpdGhTdWdnZXN0aW9uLFxuICAuZWNvLXNlYXJjaC1ib3hOZXcgLnNlYXJjaFdpdGhTdWdnZXN0aW9uLFxuICAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICB9XG4gIC5lY28tc2VhcmNoLWJveCwgLmVjby1zZWFyY2gtYm94TmV3LCAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgICB3aWR0aDogNzYlO1xuICB9XG4gIC5lY28tc2VhcmNoLWJveE5ldyAuaW5wdXQtZ3JvdXAgLnNlYXJjaFRleHRCb3gge1xuICAgIHdpZHRoOiA3NiU7XG4gIH1cbiAgLmVjby1zZWFyY2gtYm94SW5kdXN0cnkgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcbiAgICB3aWR0aDogNzYlO1xuICB9XG4gIC5nb1RvVG9wIHtcbiAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDlweCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAzNXB4O1xuICB9XG4gIC5nb1RvVG9wOmFmdGVyIHtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG4gIC5jb2xsYXBzZWRDb2x1bW4ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTA1ODc4O1xuICB9XG4gIC5mb290ZXJOYXYgLmNvbGxhcHNlZENvbHVtbiB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuZm9vdGVyTmF2IC5jb2xsYXBzZWRDb2x1bW4gaDUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmZvb3Rlck5hdiAuY29sbGFwc2VkQ29sdW1uIGg1OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTgwNVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdseXBoaWNvbnMgSGFsZmxpbmdzXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIGNvbG9yOiAjNEZDMUU5O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuZm9vdGVyTmF2LmNsb3NlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlODA2XCI7XG4gIH1cbiAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIGxpIHVsIGxpIC5zdWItYXJyb3csIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB1bCB1bCAuY29sbGFwc2libGUgLnN1Yi1hcnJvdyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNTg1ODVhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgbGkgdWwgbGkgYTpob3ZlciAuc3ViLWFycm93LCAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwgdWwgdWwgLmNvbGxhcHNpYmxlIGE6aG92ZXIgLnN1Yi1hcnJvdyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjUwMzAzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC5tYWluSGVhZGVyV3JhcCAuZ2x5cGhpY29uLXJlc3BvbnNpdmUge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbiAgLm1haW5TaXRlbWVtYmVyV2VsY29tZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIC5tYWluU2VsZWN0TGFuZ3VhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuICAubWFpblNlYXJjaEJveCAuZ2VuZXJhbFNlYXJjaEJveCAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHBhZGRpbmc6IDJweCA2cHggM3B4O1xuICB9XG4gIC5tYWluTmF2aWdhdGlvbldyYXAgLm1haW5TbWFsbE1lbnVXcmFwIC5tYWluTWVudSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZGRkZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDtcbiAgfVxuICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUgLm5hdmJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUgLm5hdmJhciAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU4NTg1QTtcbiAgfVxuICAubWFpbk5hdmlnYXRpb25XcmFwIC5tYWluU21hbGxNZW51V3JhcCAubWFpbk1lbnUgLm5hdmJhciAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbiAgLm1haW5OYXZpZ2F0aW9uV3JhcCAubWFpblNtYWxsTWVudVdyYXAgLm1haW5NZW51IC5uYXZiYXIgLm5hdmJhci10b2dnbGU6aG92ZXIgLmljb24tYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjUwMzAzO1xuICB9XG4gIC5tYWluTmF2aWdhdGlvbldyYXAgLm1haW5TbWFsbE1lbnVXcmFwIC5tYWluTWVudSAubmF2YmFyIC5uYXZiYXItbmF2IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLm1haW5NZW51IC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbjogMCAwIDRweCAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogMTcwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG4gIC5tYWluRm9vdGVyV3JhcCAuY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5zaXRlTWVtYmVyV2VsY29tZVdyYXAsIC5nZW5lcmFsQ3VycmVudERhdGVUaW1lLCAuZ2VuZXJhbFNlbGVjdExhbmd1YWdlLCAucmFkY29tQ29weXJpZ2h0QW5kTG9nbyAqIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2ggIWltcG9ydGFudDtcbiAgfVxuICAudGFibGUtcmVzcG9uc2l2ZSB0YWJsZTpub3QoLnRhYmxlLWV4Y2x1ZGUpIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICB9XG4gIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIH1cbiAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLTMyMHB4O1xuICAgIHotaW5kZXg6IDgwNDA7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICMwMDA7XG4gIH1cbiAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlID4gdWwgPiBsaSwgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAub2ZmQ2FudmFzTWVudVRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDgwNDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjMDAwO1xuICB9XG4gIC5vZmZDYW52YXNNZW51VG9nZ2xlIC5tZWdhTWVudVRvZ2dsZUljb24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsIHVsLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0zOS45cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5jb2xvcjEgLmhlYWRlckJvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICMyNjJjNDQ7XG59XG4uY29sb3IxIC5tYWluSGVhZGVyV3JhcCB7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjMzEzODU0O1xufVxuLmNvbG9yMSAuZ2VuZXJhbFNlYXJjaEJveCAuaW5wdXQtZ3JvdXAge1xuICBiYWNrZ3JvdW5kOiAjMzk0MjYzO1xufVxuLmNvbG9yMSAucGFuZWwtc3R5bGUxLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2Mztcbn1cbi5jb2xvcjEgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2Mztcbn1cbi5jb2xvcjEgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLmNvbG9yMSAubWVudTNkbWVnYSA+IHVsIGxpLmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiAjMzk0MjYzICFpbXBvcnRhbnQ7XG59XG4uY29sb3IxIC5tYWluRm9vdGVyV3JhcCB7XG4gIGJhY2tncm91bmQ6ICMzOTQyNjM7XG59XG4uY29sb3IxIC5nb1RvVG9wIHtcbiAgYmFja2dyb3VuZDogIzRmYzBlYTtcbn1cbi5jb2xvcjEgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28ge1xuICBiYWNrZ3JvdW5kOiAjMjYyYzQ0O1xufVxuXG4uY29sb3IyIC5oZWFkZXJCb3R0b20ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLmNvbG9yMiAubWFpbkhlYWRlcldyYXAge1xuICBib3JkZXItdG9wOiA2cHggc29saWQgIzAwMDtcbn1cbi5jb2xvcjIgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLmNvbG9yMiAucGFuZWwtc3R5bGUxLnBhbmVsIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi5jb2xvcjIgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi5jb2xvcjIgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLmNvbG9yMiAubWVudTNkbWVnYSA+IHVsIGxpLmN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XG59XG4uY29sb3IyIC5tYWluRm9vdGVyV3JhcCB7XG4gIGJhY2tncm91bmQ6ICMxNzE3MTc7XG59XG4uY29sb3IyIC5nb1RvVG9wIHtcbiAgYmFja2dyb3VuZDogIzgwODA4MDtcbn1cblxuLmNvbG9yMyAuaGVhZGVyQm90dG9tIHtcbiAgYmFja2dyb3VuZDogcmVkO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb2xvci1waWNrZXIyIC5oZWFkZXJCb3R0b20sIC5jb2xvci1waWNrZXIyIC5tYWluRm9vdGVyV3JhcCwgLmNvbG9yLXBpY2tlcjIgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nLFxuLmNvbG9yLXBpY2tlcjIgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLmNvbG9yLXBpY2tlcjIgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzBmNTA5NCAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb2xvci1waWNrZXIzIC5oZWFkZXJCb3R0b20sIC5jb2xvci1waWNrZXIzIC5tYWluRm9vdGVyV3JhcCwgLmNvbG9yLXBpY2tlcjMgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nLFxuLmNvbG9yLXBpY2tlcjMgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLmNvbG9yLXBpY2tlcjMgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzQ1MDg1NiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb2xvci1waWNrZXI0IC5oZWFkZXJCb3R0b20sIC5jb2xvci1waWNrZXI0IC5tYWluRm9vdGVyV3JhcCwgLmNvbG9yLXBpY2tlcjQgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nLFxuLmNvbG9yLXBpY2tlcjQgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLmNvbG9yLXBpY2tlcjQgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzI3NmYwOSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iLCLvu78kYnJhbmQtY29sb3I6ICAgIzRmYzBlYTtcclxuJGJyYW5kLXByaW1hcnk6ICMzOTQyNjM7XHJcbiRicmFuZC1zdWNjZXNzOiAjNWNiODVjO1xyXG4kYnJhbmQtaW5mbzogICAgIzViYzBkZTtcclxuJGJyYW5kLXdhcm5pbmc6ICNmMGFkNGU7XHJcbiRicmFuZC1kYW5nZXI6ICAjZDk1MzRmO1xyXG5cclxuJHByaW1hcnktYmFja2dyb3VuZDogICNlYWVkZjE7XHJcbiRzZWNvbmQtYmFja2dyb3VuZDogICAjMjYyYzQ0O1xyXG5cclxuJGdyYXktZGFya2VyOiBsaWdodGVuKCMwMDAsIDIwJSk7IC8vICMyMjJcclxuJGdyYXktZGFyazogICBsaWdodGVuKCMwMDAsIDMwJSk7IC8vICMzMzMgXHJcbiRncmF5OiAgICAgICAgbGlnaHRlbigjMDAwLCA1MCUpOyAvLyAjNTU1XHJcbiRncmF5LWxpZ2h0OiAgbGlnaHRlbigjMDAwLCA4NSUpOyAvLyAjNzc3XHJcbiRncmF5LWxpZ2h0ZXI6bGlnaHRlbigjMDAwLCA5NSUpOyAvLyAjZWVlXHJcblxyXG4kdGV4dC1jb2xvcjogI2ZmZiwjZmZmLCNmZmYsI2ZmZjtcclxuJGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5LCMwZjUwOTQsIzQ1MDg1NiwjMjc2ZjA5O1xyXG5cclxuJGZvbnQtY29sb3ItaDogIzVhNjU3NSAjMzc2NDhhICMwOTY0ZDUgI2NiNzUwZiAjZjUwMzAzICM5YzliOWI7IC8vbGlzdCBmb3IgaDEgdG8gaDYgdGFnc1xyXG5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIG50aCgkZm9udC1jb2xvci1oLCAzKTtcclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcclxuJGNvbnRlbnQtbGluay1jb2xvcjogICAgICAgIG50aCgkZm9udC1jb2xvci1oLCAxKTtcclxuJGNvbnRlbnQtbGluay1ob3Zlci1jb2xvcjogIGRhcmtlbigkY29udGVudC1saW5rLWNvbG9yLCAxNSUpO1xyXG4kc2hvcnRjdXQtbGluay1jb2xvcjogICAgICAgIzIzNEJBMztcclxuJHNob3J0Y3V0LWxpbmstaG92ZXItY29sb3I6ICNERDRCNTY7XHJcblxyXG4kcmVkOiAgICNmNDQzMzY7XHJcbiRncmVlbjogIzRjYWY1MDtcclxuJGJsdWU6ICAjMjE5NmYzO1xyXG4keWVsbG93OiNmZjk4MDA7XHJcbiRibGFjazogIzAwMDtcclxuJHdoaXRlOiAjZmZmO1xyXG4kdGhlbWUtY29sb3I6ICNkZmRmZGYgO1xyXG4kc2VhcmNoLWNvbG9yOiAjZGRkO1xyXG5cclxuJGRlZmF1bHQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7XHJcblxyXG4kcHJpbWFyeS1mb250SWNvbjogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcclxuJHNlY29uZC1mb250SWNvbjogJ1ZpZXdGb250SWNvbic7XHJcblxyXG4vKiRpY29uLWZvbnQtcGF0aDogICAgICAgICAgXCIuLi9mb250cy9cIjtcclxuJGljb24tZm9udC1uYW1lOiovIFxyXG5cclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiU0RGXCI7XHJcbiRmb250LWZhbWlseS1zZXJpZjogICAgICBcIlNERiBTdWJzaWRpYXJ5XCI7XHJcbiRmb250LWZhbWlseS10b29sczE6ICAgICBcIlNERiBTdWJzaWRpYXJ5MVwiO1xyXG4kZm9udC1mYW1pbHktdG9vbHMyOiAgICAgXCJTREYgU3Vic2lkaWFyeTJcIjtcclxuJGZvbnQtZmFtaWx5LXRvb2xzMzogICAgIFwiU0RGIFN1YnNpZGlhcnkzXCI7XHJcbiRmb250LWZhbWlseS10b29sczQ6ICAgICBcIlNERiBTdWJzaWRpYXJ5NFwiO1xyXG4kZm9udC1mYW1pbHktc2Vjb25kLWZvbnQ6XCJTU0ZcIjtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktYmFzZS1mYS1udW06IFwiU0RGRmFOdW1cIjtcclxuXHJcblxyXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgIDEuNHJlbTtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1OyAvLyB+MThweFxyXG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDAuODU7IC8vIH4xMnB4XHJcblxyXG4kZm9udC1zaXplLWg6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yICRmb250LXNpemUtYmFzZSAqIDEuMTAgJGZvbnQtc2l6ZS1iYXNlICogMS4wMCAkZm9udC1zaXplLWJhc2UgKiAwLjkyICRmb250LXNpemUtYmFzZSAqIDAuODIgJGZvbnQtc2l6ZS1iYXNlICogMC43MjsgIC8vbGlzdCBmb3IgaDEgdG8gaDYgdGFnc1xyXG5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjU7IC8vIDIwLzE0XHJcbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7IC8vIH4yMHB4XHJcblxyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQ7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwO1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMTtcclxuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0O1xyXG5cclxuJHBhZGRpbmctYmFzZTogICAgICAgICAgICAgICAgICAgNXB4O1xyXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgICAgICA2cHg7XHJcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAgICAgIDEycHg7XHJcblxyXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgICAgICAxMHB4O1xyXG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgICAgICAxNnB4O1xyXG5cclxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgICAgICAgNXB4O1xyXG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgICAgICAxMHB4O1xyXG5cclxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgICAgICAgMXB4O1xyXG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgICAgICA1cHg7XHJcblxyXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgICAxLjU7XHJcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAgICAgIDEuMzM7XHJcblxyXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgICAgICA0cHg7XHJcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgICAgIDZweDtcclxuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAgICAgM3B4O1xyXG5cclxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIzM5NDI2MywgI2ZmZiwgI2ZmZiwgI2ZmZiwgI2ZmZjtcclxuJHBhbmVsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgMCwwLDAsMCwwO1xyXG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAgICA1cHgsMCwwLDAsMDtcclxuJHBhbmVsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgbm9uZSxub25lLG5vbmUsbm9uZSxub25lO1xyXG4kcGFuZWwtaGVhZGluZy1iZzogICAgICAgICAgICAgICAjMzk0MjYzLCAjYThiYzdiLCAjZGJkYmRiLCAjNWU4N2IwLCAjZDk1MzRmO1xyXG4kcGFuZWwtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAjZmZmLCNmZmYsI2ZmZiwjZmZmLCNmZmY7XHJcbiRwYW5lbC1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlLCRmb250LXNpemUtYmFzZSwkZm9udC1zaXplLWJhc2UsJGZvbnQtc2l6ZS1iYXNlLCRmb250LXNpemUtYmFzZTtcclxuJHBhbmVsLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgYm9sZCxib2xkLGJvbGQsYm9sZCxib2xkO1xyXG4kcGFuZWwtaGVhZGluZy1hbGlnbjogICAgICAgICAgICByaWdodCxyaWdodCxyaWdodCxyaWdodCxyaWdodDtcclxuJHBhbmVsLWhlYWRpbmctYm9yZGVyOiAgICAgICAgICAgMCwwLDAsMCwwO1xyXG4kcGFuZWwtaGVhZGluZy1ib3JkZXItcmFkaXVzOiAgICAwLDAsMCwwLDA7XHJcbiRwYW5lbC1ib2R5LWJnOiAgICAgICAgICAgICAgICAgICNmZmYsI2ZmZiwjZmZmLCNmZmYsI2ZmZjtcclxuJHBhbmVsLWJvZHktYm9yZGVyOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQsICNhOGJjN2IsICNkYmRiZGIsICM1ZTg3YjAsICNkOTUzNGY7XHJcbiRwYW5lbC1ib2R5LWJveC1zaGFkb3c6IHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50O1xyXG4kcGFuZWwtZ2x5cGhpY29uLWZvbnQtc2l6ZTogMi4ycmVtLDIuMnJlbSwyLjJyZW0sMi4ycmVtLDIuMnJlbTtcclxuJHBhbmVsLWdseXBoaWNvbi1jb2xvcjogJGJyYW5kLWNvbG9yLCRicmFuZC1jb2xvciwkYnJhbmQtY29sb3IsJGJyYW5kLWNvbG9yLCRicmFuZC1jb2xvcjtcclxuJHBhbmVsLWdseXBoaWNvbi1mbG9hdDpyaWdodCxyaWdodCxyaWdodCxyaWdodCxyaWdodDtcclxuJHBhbmVsLWdseXBoaWNvbi1ob3Zlci1jb2xvcjogIzc1ODJiMSwjNzU4MmIxLCM3NTgyYjEsIzc1ODJiMSwjNzU4MmIxO1xyXG4kcGFuZWwtbW9yZVRpdGxlLWZvbnQtc2l6ZTokZm9udC1zaXplLWJhc2UsJGZvbnQtc2l6ZS1iYXNlLCRmb250LXNpemUtYmFzZSwkZm9udC1zaXplLWJhc2UsJGZvbnQtc2l6ZS1iYXNlO1xyXG4kcGFuZWwtbW9yZVRpdGxlLWNvbG9yOiAjZGVlZGYzLCNkZWVkZjMsI2RlZWRmMywjZGVlZGYzLCNkZWVkZjM7XHJcbiRwYW5lbC1tb3JlVGl0bGUtYmFja2dyb3VuZDogIzc1ODJiMSwjNzU4MmIxLCM3NTgyYjEsIzc1ODJiMSwjNzU4MmIxO1xyXG4kcGFuZWwtbW9yZVRpdGxlLWJvcmRlcjogdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQ7XHJcbiRwYW5lbC1tb3JlVGl0bGUtYm9yZGVyLXJhZGl1czogNXB4LDVweCw1cHgsNXB4LDVweDtcclxuJHBhbmVsLW1vcmVUaXRsZS1ib3gtc2hhZG93Om5vbmUsbm9uZSxub25lLG5vbmUsbm9uZTtcclxuJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1jb2xvcjogJGJyYW5kLWNvbG9yLCRicmFuZC1jb2xvciwkYnJhbmQtY29sb3IsJGJyYW5kLWNvbG9yLCRicmFuZC1jb2xvcjtcclxuJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1iYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeSwkYnJhbmQtcHJpbWFyeSwkYnJhbmQtcHJpbWFyeSwkYnJhbmQtcHJpbWFyeSwkYnJhbmQtcHJpbWFyeTtcclxuJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50LHRyYW5zcGFyZW50O1xyXG4kcGFuZWwtYm94TGFzdFVwZGF0ZS1jb2xvcjogdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQsIzAwMCx0cmFuc3BhcmVudDtcclxuJHBhbmVsLWJveExhc3RVcGRhdGUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsJGZvbnQtc2l6ZS1iYXNlLCRmb250LXNpemUtYmFzZSwkZm9udC1zaXplLWJhc2UsJGZvbnQtc2l6ZS1iYXNlO1xyXG4kcGFuZWwtYm94TGFzdFVwZGF0ZS1hbGlnbjogcmlnaHQscmlnaHQsbGVmdCxyaWdodCxsZWZ0O1xyXG5cclxuJHB1c2htZW51LWJyZWFrLXBvaW50OiA3NjdweDsiLCJAbWl4aW4gZm9udC1mYWNlKCRmb250LWZhbWlseSwgJGZpbGUtcGF0aCwgJGZvbnQtd2VpZ2h0LCAkZm9udC1zdHlsZSkge1xyXG5cdEBmb250LWZhY2Uge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuXHRcdFx0c3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XHJcblx0XHRcdHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcblx0XHRcdFx0IHVybCgnI3skZmlsZS1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHRcdFx0IHVybCgnI3skZmlsZS1wYXRofS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG5cdFx0Zm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OnN3YXA7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gcG9zaXRpb24oJHR5cGU6IHN0YXRpYywgJHRvcDogbnVsbCwgJHJpZ2h0OiBudWxsLCAkYm90dG9tOiBudWxsLCAkbGVmdDogbnVsbCwgJHotaW5kZXg6IG51bGwpIHtcclxuXHRwb3NpdGlvbjogJHR5cGU7XHJcblx0QGlmICR0b3AgIT0gbnVsbCB7XHJcblx0XHR0b3A6ICR0b3A7XHJcblx0fVxyXG5cdEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcblx0XHRyaWdodDogJHJpZ2h0O1xyXG5cdH1cclxuXHRAaWYgJGJvdHRvbSAhPSBudWxsIHtcclxuXHRcdGJvdHRvbTogJGJvdHRvbTtcclxuXHR9XHJcblx0QGlmICRsZWZ0ICE9IG51bGwge1xyXG5cdFx0bGVmdDogJGxlZnQ7XHJcblx0fVxyXG5cdEBpZiAkei1pbmRleCAhPSBudWxsIHtcclxuXHRcdHotaW5kZXg6ICR6LWluZGV4O1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGNsZWFyZml4KCkge1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCIgXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiBjb2xvci1waWNrZXIoJHRleHQtY29sb3IsJGJhY2tncm91bmQtY29sb3IpIHtcclxuICAgIEBpZiR0ZXh0LWNvbG9yICE9IG51bGwge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiRiYWNrZ3JvdW5kLWNvbG9yICE9IG51bGwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG59XHJcbkBtaXhpbiBwYW5lbC1zdHlsZSggJHBhbmVsLWJnLCAkcGFuZWwtYm9yZGVyLCAkcGFuZWwtYm9yZGVyLXJhZGl1cywgJHBhbmVsLWJveC1zaGFkb3csICRwYW5lbC1oZWFkaW5nLWJnLCAkcGFuZWwtaGVhZGluZy1jb2xvciwgJHBhbmVsLWhlYWRpbmctZm9udC1zaXplLCAkcGFuZWwtaGVhZGluZy1mb250LXdlaWdodCwgJHBhbmVsLWhlYWRpbmctYWxpZ24sICRwYW5lbC1oZWFkaW5nLWJvcmRlciwgJHBhbmVsLWhlYWRpbmctYm9yZGVyLXJhZGl1cywgJHBhbmVsLWJvZHktYmcsICRwYW5lbC1ib2R5LWJvcmRlciwgJHBhbmVsLWJvZHktYm94LXNoYWRvdywgJHBhbmVsLWdseXBoaWNvbi1mb250LXNpemUsICRwYW5lbC1nbHlwaGljb24tY29sb3IsICRwYW5lbC1nbHlwaGljb24tZmxvYXQsICRwYW5lbC1nbHlwaGljb24taG92ZXItY29sb3IsICRwYW5lbC1tb3JlVGl0bGUtZm9udC1zaXplLCAkcGFuZWwtbW9yZVRpdGxlLWNvbG9yLCAkcGFuZWwtbW9yZVRpdGxlLWJhY2tncm91bmQsICRwYW5lbC1tb3JlVGl0bGUtYm9yZGVyLCAkcGFuZWwtbW9yZVRpdGxlLWJveC1zaGFkb3csICRwYW5lbC1tb3JlVGl0bGUtYm9yZGVyLXJhZGl1cywgJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1jb2xvciwgJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1iYWNrZ3JvdW5kLCAkcGFuZWwtbW9yZVRpdGxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHBhbmVsLWJveExhc3RVcGRhdGUtY29sb3IsICRwYW5lbC1ib3hMYXN0VXBkYXRlLWZvbnQtc2l6ZSwgJHBhbmVsLWJveExhc3RVcGRhdGUtYWxpZ24pIHtcclxuICAgICYucGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iZztcclxuICAgICAgICBib3JkZXI6ICRwYW5lbC1ib3JkZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHBhbmVsLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcblxyXG4gICAgPiAucGFuZWwtaGVhZGluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWhlYWRpbmctYmc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWhlYWRpbmctYm9yZGVyLXJhZGl1cztcclxuICAgICAgICBib3JkZXI6ICRwYW5lbC1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkcGFuZWwtaGVhZGluZy1hbGlnbjtcclxuXHJcbiAgICAgICAgJiA+IGgxLCAmID4gYSA+IGgxLFxyXG4gICAgICAgICYgPiBoMiwgJiA+IGEgPiBoMixcclxuICAgICAgICAmID4gaDMsICYgPiBhID4gaDMsXHJcbiAgICAgICAgJiA+IGg0LCAmID4gYSA+IGg0LFxyXG4gICAgICAgICYgPiBoNSwgJiA+IGEgPiBoNSxcclxuICAgICAgICAmID4gaDYsICYgPiBhID4gaDYsXHJcbiAgICAgICAgYSA+IHNwYW46bm90KC5nbHlwaGljb24pLCBzcGFuOm5vdCguZ2x5cGhpY29uKSxcclxuICAgICAgICBwLCBhID4gcCB7XHJcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgJHBhbmVsLWhlYWRpbmctZm9udC1zaXplICRmb250LWZhbWlseS1iYXNlLCBUYWhvbWE7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcGFuZWwtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhbmVsLWhlYWRpbmctY29sb3I7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICBmbG9hdDogJHBhbmVsLWdseXBoaWNvbi1mbG9hdDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcGFuZWwtZ2x5cGhpY29uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRwYW5lbC1nbHlwaGljb24tY29sb3I7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwYW5lbC1nbHlwaGljb24taG92ZXItY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb3JlVGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRwYW5lbC1tb3JlVGl0bGUtZm9udC1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhbmVsLW1vcmVUaXRsZS1jb2xvcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhbmVsLW1vcmVUaXRsZS1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRwYW5lbC1tb3JlVGl0bGUtYm9yZGVyO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcGFuZWwtbW9yZVRpdGxlLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1tb3JlVGl0bGUtYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1tb3JlVGl0bGUtaG92ZXItYmFja2dyb3VuZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbmVsLWJvZHktYmc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkcGFuZWwtYm9keS1ib3JkZXI7XHJcblxyXG5cclxuICAgICAgICAuYm94TGFzdFVwZGF0ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcGFuZWwtYm94TGFzdFVwZGF0ZS1jb2xvcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkcGFuZWwtYm94TGFzdFVwZGF0ZS1mb250LXNpemU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwYW5lbC1ib3hMYXN0VXBkYXRlLWFsaWduO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7v0BpbmNsdWRlIGZvbnQtZmFjZSgkcHJpbWFyeS1mb250SWNvbiwnL0ZvbnRzL0ZvbnRJY29uJywgYm9sZCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS1iYXNlLCcvRm9udHMvSVJBTlNhbnNYLVJlZ3VsYXInLCBub3JtYWwsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktYmFzZSwnL0ZvbnRzL0lSQU5TYW5zWC1Cb2xkJywgYm9sZCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS1zZXJpZiwgJy9Gb250cy9JcmFuUmVndWxhcicsIG5vcm1hbCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS1zZXJpZiwgJy9Gb250cy9JcmFuQm9sZCcsIGJvbGQsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktdG9vbHMxLCAnL0ZvbnRzL0Fuam9tYW5SZWd1bGFyJywgbm9ybWFsLCBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LXRvb2xzMSwgJy9Gb250cy9BbmpvbWFuQm9sZCcsIGJvbGQsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktdG9vbHMyLCAnL0ZvbnRzL0lSQU5TYW5zUmVndWxhcicsIG5vcm1hbCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS10b29sczIsICcvRm9udHMvSVJBTlNhbnNCb2xkJywgYm9sZCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS10b29sczMsICcvRm9udHMvSVJBTllla2FuUmVndWxhcicsIG5vcm1hbCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS10b29sczMsICcvRm9udHMvSVJBTllla2FuQm9sZCcsIGJvbGQsIG5vcm1hbCk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktdG9vbHM0LCAnL0ZvbnRzL1ZhemlyUmVndWxhcicsIG5vcm1hbCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS10b29sczQsICcvRm9udHMvVmF6aXJCb2xkJywgYm9sZCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS1iYXNlLWZhLW51bSwgJy9Gb250cy9JUkFOU2Fuc1hGYU51bS1MaWdodCcsIG5vcm1hbCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWZhbWlseS1iYXNlLWZhLW51bSwgJy9Gb250cy9JUkFOU2Fuc1hGYU51bS1Cb2xkJywgYm9sZCwgbm9ybWFsKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKCRzZWNvbmQtZm9udEljb24sJy9Gb250cy9WaWV3Rm9udEljb24nLCBib2xkLCBub3JtYWwpO1xyXG5cclxuLy9AaW5jbHVkZSBmb250LWZhY2UoJGZvbnQtZmFtaWx5LXNlY29uZC1mb250LCcvRm9udHMvQW5qb21hbkxpZ2h0Jywgbm9ybWFsLCBub3JtYWwpO1xyXG4vL0BpbmNsdWRlIGZvbnQtZmFjZSgkZm9udC1mYW1pbHktc2Vjb25kLWZvbnQsJy9Gb250cy9BbmpvbWFuQm9sZCcsIGJvbGQsIG5vcm1hbCk7XHJcbiIsIkBpbXBvcnQgXCJMaWIvbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCJMaWIvZnVuY3Rpb25zXCI7XHJcblxyXG4vLyoqKioqICBCYXNpYyAmIEhlbHBlciAmIEdlbmVyYWwgU3R5bGVzXHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9WYXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL0ZvbnRzSW1wb3J0c1wiO1xyXG4vKkBpbXBvcnQgXCJQYXJ0aWFscy9IZWxwZXJcIjsqL1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvQmFzaWNTdHlsZXNcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL0FuaW1hdGVcIjtcclxuXHJcbi8vKioqKiogIENvbXBvbmVuZXRzXHJcbi8qQGltcG9ydCBcIlBhcnRpYWxzL1NsaWRlclwiOyovXHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9NYWluTWVudVwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvVmVydGljYWxNZW51XCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9NdWx0aUNvbHVtbk1lbnVcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL01lZ2FNZW51M0RcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL1B1c2hNZW51XCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9OaWdodE1vZGVcIjtcclxuXHJcbi8vKioqKiogIENvbXBvc2l0aW9uICYgTGF5b3V0ICYgUGFnZXNcclxuQGltcG9ydCBcIlBhcnRpYWxzL01hc3RlcnBhZ2VMYXlvdXRcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL1BhcmFsbGF4XCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9QcmludFZlcnNpb25cIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL0Zvb3RlclwiO1xyXG5cclxuLy8qKioqKiAgVXNlciBDb250cm9sc1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvQWRtaW5CYXJcIjtcclxuLypAaW1wb3J0IFwiUGFydGlhbHMvTWFpbkxvZ29cIjsqL1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvRGF0YVRpbWVcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL1NlYXJjaFwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvU2VsZWN0TGFuZ3VhZ2VcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL1Rvb2xzQm94XCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9Tb2NpYWxOZXR3b3Jrc1wiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvU3dpdGNoQmFyXCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9Hb1RvVG9wXCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9MaW5lYXJGb290ZXJMaW5rc1wiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvQ29sdW1uRm9vdGVyTGlua1wiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvUG93ZXJlZEJ5XCI7XHJcblxyXG4vLyoqKioqICBUYWIsIFBhbmVsLCBUYWJsZSwgRGF0YSBHcmlkLCBQYWdlciBTdHlsZXNcclxuQGltcG9ydCBcIlBhcnRpYWxzL1BhbmVsU3lsZXNcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL1RhYlwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvVGFibGVTdHlsZXNcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL0RhdGFHcmlkXCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9QYWdlclwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvUGFnZXJXcmFwcGVyXCI7XHJcbkBpbXBvcnQgXCJQYXJ0aWFscy9Ob3RpZnlcIjtcclxuQGltcG9ydCBcIlBhcnRpYWxzL05vVUlcIjtcclxuLypAaW1wb3J0IFwiUGFydGlhbHMvQnV0dG9uc1wiOyovXHJcblxyXG5cclxuLy8qKioqKiAgT3RoZXIgUGFydGlhbHNcclxuQGltcG9ydCBcIlBhcnRpYWxzL0N1c3RvbWl6ZWRTdHlsZVwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvTWVkaWFRdWVyeVwiO1xyXG5AaW1wb3J0IFwiUGFydGlhbHMvQ29sb3JQaWNrZXJcIjtcclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5FZmZlY3QgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmVmZmVjdFBhcmVudCB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi8qKioqKioqKioqKiogaW5pdGlhbGx5IGhpZGUgYW5pbWF0YWJsZSBvYmplY3RzICoqKioqKioqKioqKiovXHJcbi5hbmltYXRhYmxlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XHJcbn1cclxuQG1lZGlhKG1heC13aWR0aDo3NjdweCl7XHJcbiAgICAuYW5pbWF0YWJsZSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG4vKioqKioqKioqKioqIHNob3cgb2JqZWN0cyBiZWluZyBhbmltYXRlZCAqKioqKioqKioqKioqL1xyXG4uYW5pbWF0ZWQge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIENTUyBBbmltYXRpb25zICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XHJcbiAgICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgIH1cclxuXHJcbiAgICA0MCUsIDQzJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3MCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgOTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2UgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxhc2ggKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGFzaCB7XHJcbiAgICAwJSwgNTAlLCAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIDI1JSwgNzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmxhc2gge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZsYXNoICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFB1bHNlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5QdWxzZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBQdWxzZSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSdWJiZXJCYW5kICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcnViYmVyQmFuZCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5SdWJiZXJCYW5kIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJ1YmJlckJhbmQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2hha2UgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzaGFrZSB7XHJcbiAgICAwJSwgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMjAlLCA0MCUsIDYwJSwgODAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2hha2Uge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2hha2U7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2hha2UgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU3dpbmcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzd2luZyB7XHJcbiAgICAyMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Td2luZyB7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFN3aW5nICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFRhZGEgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB0YWRhIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAlLCAyMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlLCA2MCUsIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5UYWRhIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFRhZGEgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgV29iYmxlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgd29iYmxlIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgMTUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA0NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDc1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Xb2JibGUge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBXb2JibGUgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgSmVsbG8gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBqZWxsbyB7XHJcbiAgICAxMS4xJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIDIyLjIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMzMuMyUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNDQuNCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDU1LjUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICA2Ni42JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDc3LjclIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgODguOCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uSmVsbG8ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEplbGxvICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xyXG4gICAgMCUsIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XHJcbiAgICB9XHJcblxyXG4gICAgMjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkRvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xyXG4gICAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluRG93biB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJbkxlZnQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xyXG4gICAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUge1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkJvdW5jZUluTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEJvdW5jZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBCb3VuY2VJblJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XHJcbiAgICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuICAgIH1cclxuXHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDc1JSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA5MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uQm91bmNlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEJvdW5jZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcclxuICAgIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xyXG4gICAgfVxyXG5cclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgNzUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDkwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uQm91bmNlSW5VcCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBCb3VuY2VJblVwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluRG93biB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGYWRlSW5Eb3duICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5Eb3duQmlnIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkRvd25CaWcgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5MZWZ0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLkZhZGVJbkxlZnRCaWcge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluTGVmdEJpZyAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGYWRlSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GYWRlSW5SaWdodEJpZyB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmFkZUluUmlnaHRCaWcgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmFkZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluVXAge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uRmFkZUluVXBCaWcge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZhZGVJblVwQmlnICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGlwIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA0MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GbGlwIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmxpcDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEZsaXBJblggKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBmbGlwSW5YIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDQwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgODAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GbGlwSW5YIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEZsaXBJblggKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgRmxpcEluWSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgNDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBJblkge1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgRmxpcEluWSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBPdXRYIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwT3V0WCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBGbGlwT3V0WSAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLkZsaXBPdXRZIHtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBGbGlwT3V0WSAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodFNwZWVkSW4gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICA4MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5MaWdodFNwZWVkSW4ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIExpZ2h0U3BlZWRJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBMaWdodFNwZWVkT3V0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uTGlnaHRTcGVlZE91dCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgTGlnaHRTcGVlZE91dCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvdGF0ZUluIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBSb3RhdGVJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb3RhdGVJbkRvd25MZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Sb3RhdGVJbkRvd25MZWZ0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93bkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5Eb3duUmlnaHQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uUm90YXRlSW5Eb3duUmlnaHQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvdGF0ZUluRG93blJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvdGF0ZUluVXBMZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Sb3RhdGVJblVwTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcExlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uUm90YXRlSW5VcFJpZ2h0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm90YXRlSW5VcFJpZ2h0ICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIEhpbmdlICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgaGluZ2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgIDIwJSwgNjAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICA0MCUsIDgwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uSGluZ2Uge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIEhpbmdlICoqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvbGxJbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFJvbGxJbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBSb2xsT3V0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgcm9sbE91dCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuLlJvbGxPdXQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUm9sbE91dCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW4gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB6b29tSW4ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbiB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogem9vbUluO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JbiAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5Eb3duICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgem9vbUluRG93biB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbkRvd24ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgWm9vbUluRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5MZWZ0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuICAgIH1cclxuXHJcbiAgICA2MCUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JbkxlZnQge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogRW5kIE9mIFpvb21JbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgWm9vbUluUmlnaHQgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4gICAgfVxyXG5cclxuICAgIDYwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcclxuICAgIH1cclxufVxyXG5cclxuLlpvb21JblJpZ2h0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcclxufVxyXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBab29tSW5VcCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHpvb21JblVwIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XHJcbiAgICB9XHJcblxyXG4gICAgNjAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uWm9vbUluVXAge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIEVuZCBPZiBab29tSW5VcCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZURvd24gKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2xpZGVJbkRvd24ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlRG93biAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluTGVmdCAqKioqKioqKioqKioqL1xyXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5TbGlkZUluTGVmdCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJbkxlZnQgKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKiogU3RhcnQgT2YgU2xpZGVJblJpZ2h0ICoqKioqKioqKioqKiovXHJcbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5cclxuLlNsaWRlSW5SaWdodCB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xyXG59XHJcbi8qKioqKioqKioqKiogRW5kIE9mIFNsaWRlSW5SaWdodCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBPZiBTbGlkZUluVXAgKioqKioqKioqKioqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2xpZGVJblVwIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2xpZGVJblVwICoqKioqKioqKioqKiovXHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuTWVudSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ubWFpbk1lbnUge1xyXG4gICAgLm5hdmJhci1yaWdodCB7XHJcbiAgICAgICAgJiA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmOGY4ZjgsICNlOWU5ZTkpIHJlcGVhdCBzY3JvbGwgMCAwICNlOWU5ZTk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gbGkub3BlbiA+IGEsXHJcbiAgICAgICAgJiA+IGxpLmN1cnJlbnQgPiBhIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgICAgICAgICAgY29sb3I6ICNmNTAzMDM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgJiA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpLm1lbnVDb2xsYXBzZSB7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMzZweCwgbnVsbCwgbnVsbCwgMCwgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA2cHggMTVweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2NlZGI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA1cHggNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2VkYjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmRyb3Bkb3duLW1lbnUgPiBsaSB7XHJcbiAgPiBhIHtcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjVmNWY1IDBweCwgI2U4ZThlOCAxMDAlKTtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gICAgICBjb2xvcjogcmVkO1xyXG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2FhYTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5vcGVuID4gYSwgJi5jdXJyZW50ID4gYSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y1ZjVmNSAwcHgsICNlOGU4ZTggMTAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICBjb2xvcjogbnRoKCRmb250LWNvbG9yLWgsIDUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNhYWE7XHJcbiAgfVxyXG59Iiwi77u/LyoqKioqKioqKioqKiBTdGFydCBPZiBIb3Jpem9udGFsIE1lbnUgKioqKioqKioqKioqKi9cclxuLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHtcclxuICAgIHVsIHtcclxuICAgICAgICBcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgLmNvbGxhcHNpYmxlIHtcclxuICAgICAgICAgICAgICAgIC5zdWItYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgLW1vei11c2UtdGV4dC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkIHNvbGlkIGRhc2hlZCBkYXNoZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSwgbnVsbCwgbnVsbCwgMTBweCwgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiBsaSB7XHJcbiBcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDEwcHggMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCAxMDAlLCBudWxsLCBhdXRvLCBudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGxpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAxNXB4O1xyXG5cclxuICAgICAgICAgICAgJi5oYXMtc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMDAlLCAwLCBudWxsLCBhdXRvLCBudWxsKTtcclxuXHJcbiAgICAgICAgdWwuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIGF1dG8sIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcblxyXG4gICAgICAgIHVsIHtcclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGE6aG92ZXIgLnN1Yi1hcnJvdywgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHVsIHVsIC5jb2xsYXBzaWJsZSBhOmhvdmVyIC5zdWItYXJyb3cge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0Y1MDMwMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkIHNvbGlkIGRhc2hlZCBkYXNoZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSwgbnVsbCwgbnVsbCwgMTBweCwgbnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnN1Yi1hcnJvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAtbW96LXVzZS10ZXh0LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQgc29saWQgZGFzaGVkIGRhc2hlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhOmhvdmVyIC5zdWItYXJyb3csIC5jb2xsYXBzaWJsZSBhOmhvdmVyIC5zdWItYXJyb3cge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI0Y1MDMwMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdWItYXJyb3csIC5jb2xsYXBzaWJsZSAuc3ViLWFycm93IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDVweCA0cHggMCA0cHggIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICM1ODU4NUEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlLCBudWxsLCBudWxsLCAxMHB4LCBudWxsKTtcclxuICAgIH1cclxufVxyXG5cclxuLm1haW5NZW51IHtcclxuICAgIC5uYXZiYXItcmlnaHQuc2YtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y4ZjhmOCwgI2U5ZTllOSkgcmVwZWF0IHNjcm9sbCAwIDAgI2U5ZTllOTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oYXMtc3VibWVudSB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbn1cclxuXHJcbi5zZi1ob3Jpem9udGFsIC5kcm9wZG93bi1tZW51IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICBtYXJnaW46IDJweCAwIDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwwLDAsMC4xNzUpO1xyXG4gICAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsMCwwLDAuMTc1KTtcclxuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTAwJSwgMCwgbnVsbCwgbnVsbCwgMTAwMCk7XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKiBTdGFydCBPZiBNdWx0aUNvbHVtbiBNZW51ICoqKioqKioqKioqKiovXHJcbi5tdWx0aUNvbHVtbk1lbnUge1xyXG4gICAgLm5hdiwgLmNvbGxhcHNlLCAuZHJvcHVwLCAuZHJvcGRvd24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLW5hdiA+IC5oYXNDaGlsZC5jbGlja2VkIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubXVsdGlDb2x1bW5NZW51LWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3Bkb3duLm11bHRpQ29sdW1uTWVudS1mdyAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLm11bHRpQ29sdW1uTWVudU9wZW5NZW51T25DbGljaykge1xyXG4gICAgICAgIHVsLm5hdiBsaS5kcm9wZG93bjpob3ZlciA+IHVsLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCLvu79cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1haW5NZW51IC5kcm9wZG93bi1tZW51IHtcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi8qKioqKioqKioqKioqKioqIFN0YXJ0IE9mIE1lbnUgVG9nZ2xlcnMgSW4gTW9iaWxlICoqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tZW51VG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgY29sb3I6ICRncmF5LWxpZ2h0ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDEycHggMTVweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAubWVnYU1lbnVUb2dnbGVJY29uIHtcclxuICAgICAgICB3aWR0aDogMjZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY2xvc2VTdGF0dXMgLm1lZ2FNZW51VG9nZ2xlSWNvbiBzcGFuIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKiogU3RhcnQgT2YgTWVnYSBNZW51ICoqKioqKioqKioqKioqKioqKioqKiovXHJcbi5tZW51M2RtZWdhIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgLmhhcy1pbWFnZSB7XHJcbiAgICAgICAgLmltZy1tZW51IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudCB7XHJcblxyXG4gICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgYS5tZW51LWltYWdlLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYudmVydGljYWwge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciA+IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAmLmFycm93LWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDQ0JSxudWxsLG51bGwsMTZweCxudWxsKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYuYXJyb3ctaWNvbi1ib3R0b206YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLDQ2JSxudWxsLG51bGwsOHB4LG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxNzAsIDE3MCwgMTcwLCAwLjUpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgJi5vcGVuTGVmdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLG51bGwsYXV0byxudWxsLDAhaW1wb3J0YW50LG51bGwpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcblxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi5jdXJyZW50LCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmJiYmFkO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2VlZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN1YiB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsMCwxMDAlLG51bGwsbnVsbCwyMCk7XHJcblxyXG4gICAgICAgICAgICAmLm9wZW5Cb3R0b20ge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ3Jpc2JveCBsaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGNEY0RjQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmJiYmI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDBweCA0cHggMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggNnB4IDRweCA2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAycHggMnB4O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4ICNjY2M7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIG91dGxpbmU6IDAgbm9uZTtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNTI2ZGQwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjp2aXNpdGVkIHtcclxuICAgICAgICAgICAgb3V0bGluZTogMCBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IHVsIHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XHJcblxyXG4gICAgICAgICAgICAgICAgPiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmFycm93LWljb24tYm90dG9tLCBhLCAuYXJyb3ctaWNvbi1ib3R0b206YWZ0ZXIsIGE6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmZpcnN0IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubGFzdCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHN0YXRpYyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IHtcclxuICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCBhIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmljb24tbWVudSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiB7XHJcbiAgICAgICAgICAgICAgICAuYXJyb3ctaWNvbiwgLmFycm93LWljb24tYm90dG9tIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYubm8tbGluazpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciwgJi5jdXJyZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG5cclxuICAgICAgICAgICAgICAgICYuaGFzLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsNTAlLG51bGwsbnVsbCwxN3B4LG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcRTgxRFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGl2W2NsYXNzKj1cImFuaW1hdGUtXCJdIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjJweCAwO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICAmLmFycm93LWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsNDQlLG51bGwsbnVsbCwxNnB4LG51bGwpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw0NiUsbnVsbCxudWxsLDhweCxudWxsKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAjMzMzO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzOTQzNTI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VwYXJhdGUge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbGVhcmZpeCA+IC5tZW51LXRpdGxlIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubGVmdCB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IHtcclxuICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZ3JpZC1kZW1vIFtjbGFzcyo9XCJjb2wtbGdcIl0ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICB9XHJcblxyXG4gICAgLmZ1bGwtd2lkdGggLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZ2NsYXNzIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWxpZ2h0O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICM2NjY2NjY7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICAgIHdpZHRoOiAyMzBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAubWVudS10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2VhcmNoLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kZXNjIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6ICM5OTk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlcGFyYXRvciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMCAxMHB4IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAmOmhvdmVyID4gYSwgJjpmb2N1cyA+IGEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgIH1cclxufVxyXG5cclxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgIC53cC1ub24tZHJvcGRvd24gLmJ0biB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDZweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VwYXJhdG9yOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4ubWVudS1oYXMtcmVsYXRlZC1jb21wb25lbnQge1xyXG5cclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHN0YXRpYyxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG5cclxuICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBsZWZ0OiAtMXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8qKioqKioqKioqKioqKioqIFN0YXJ0IE9mIFJFU1BPTlNJVkUgTWVudSAqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKiBTQ1JFRU4gKi9cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuaGFzLWltYWdlIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgLm1lbnVUb2dnbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKioqKioqKioqKioqKioqKiBTdGFydCBPZiBWRVJUSUNBTCBTVFlMRSBPTkxZIFNDUkVFTiAqKioqKioqKioqKioqKioqKioqKioqL1xyXG4gICAgLm1lbnUzZG1lZ2EudmVydGljYWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKiogKCgoSU4gUlRMIFZFUlNJT04pKSkgRmxvYXQgQ2hhbmdlZCBUbyBSaWdodCAqKioqKioqKioqKioqKioqKiovXHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG5cclxuICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgICYuZmx5b3V0LW1lbnUge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwgPiBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4uYXJyb3ctaWNvbi1ib3R0b206YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkICMzMzM7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGk6aG92ZXIgc3Bhbi5hcnJvdy1pY29uLWJvdHRvbTphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwgPiBsaSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vKiBNT0JJTEUqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5tZW51M2RtZWdhIHtcclxuICAgICAgICBsaSAuc3ViIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBsaSA+IGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAmLmhhcy1zdWJtZW51OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHggNHB4IDAgNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSw1MCUsbnVsbCxudWxsLDEwcHgsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB1bCBsaSA+IGEuaGFzLXN1Ym1lbnU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkgPiBhLmhhcy1zdWJtZW51OmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICM1MjZkZDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5tZW51VG9nZ2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LWZvcm0ge1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdLCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTglO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gbGkgPiB7XHJcbiAgICAgICAgICAgIGEsIC5hcnJvdy1pY29uLCAuYXJyb3ctaWNvbi1ib3R0b20ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICA+IC5hcnJvdy1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgLyoqKioqKioqKioqIFJpZ2h0IENoYW5nZWQgVG8gTGVmdCoqKioqKioqKiovXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwyMHB4IWltcG9ydGFudCxudWxsLG51bGwsNSUsbnVsbCk7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogd3JhcCBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgbGkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzk0MjYzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCA+IGxpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgPiB1bCA+IGxpLCBsaS5tZW51LW5vbi1kcm9wZG93biB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAud3Atbm9uLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHVsID4gbGkgPiBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLm1lbnUzZG1lZ2EucmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgPiB1bCA+IGxpLCBsaS5tZW51LW5vbi1kcm9wZG93biB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiB1bCA+IGxpID4gLmFycm93LWljb24tYm90dG9tOmFmdGVyIHtcclxuICAgICAgICAgICAgbGVmdDogNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqRm9yIEZ1dHVyZSoqKioqKioqKioqKioqKioqKiovXHJcbi8qLm1lbnVUb2dnbGUgLm1lZ2FNZW51VG9nZ2xlLWljb24ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuNyk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGhlaWdodDogMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCk7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG59XHJcbi5tZW51VG9nZ2xlICAubWVnYU1lbnVUb2dnbGUtaWNvbiB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuOCk7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwtNHB4LG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCByZ2JhKDIzMCwgMjMwLCAyMzAsIDAuOSk7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsLThweCxudWxsLG51bGwsbnVsbCxudWxsKTtcclxuICAgICAgICB0b3A6IC04cHg7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUtdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgcmdiYSgyMzAsIDIzMCwgMjMwLCAwLjcpO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSxudWxsLG51bGwsbnVsbCxudWxsLG51bGwpO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdpZHRoOiAxNnB4O1xyXG59Ki9cclxuXHJcblxyXG5cclxuXHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUHVzaCBNZW51ICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbiB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwMG1zLCAxMDAwbXMsIDBtcztcclxufVxyXG5cclxuLm1haW5Db250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdHJhbnNpdGlvbjogbGVmdCAzNzVtcyBlYXNlLWluLW91dCAwbXM7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgbnVsbCwgbnVsbCwgMCwgMTApO1xyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAwLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAucHVzaE1lbnVMaW5rc1dyYXAsIC5wdXNoTWVudVNpbXBsZUxpbmtzV3JhcCB7XHJcbiAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluQ29udGVudCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwLCBudWxsLCBudWxsLCAtMjFlbSwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZ1B1c2hNZW51TG9nbyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVMaW5rc1dyYXAge1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMG1zLCAwbXMsIDBtcztcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zLCAzNzVtcywgMG1zO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBlYXNlLWluLW91dCwgbGluZWFyO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHdpZHRoOiAxNWVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIEBleHRlbmQgLmxhcmdlRHVyYXRpb25UcmFuc2l0aW9uO1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgM2VtLCAwLCBudWxsLCBudWxsLCA1MDApO1xyXG5cclxuICAgICYgPiBsaSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWVkaXVtIG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XHJcbiAgICAgICAgbWFyZ2luOiAwLjYyNWVtIDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwLjkzNzVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAwLCAtNSUsIG51bGwsIG51bGwsIDApO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC44KTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBmb250OiBib2xkIDE2cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wdXNoTWVudVNpbXBsZUxpbmtzV3JhcCB7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMsIDM3NW1zLCAwbXM7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGVhc2UtaW4tb3V0LCBsaW5lYXI7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgd2lkdGg6IDE1ZW07XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDM3NW1zO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAxMmVtLCAwLCBudWxsLCBudWxsLCA1MDApO1xyXG59XHJcbi5tYWluUGFnZXMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzZW07XHJcbiAgICB3aWR0aDogMTBlbTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWVkaXVtIG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XHJcbiAgICAgICAgbWFyZ2luOiAwLjYyNWVtIDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwLjkzNzVlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDBzLCByaWdodCAyNTBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSAwcywgYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLWluLW91dCAwcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDVlYjg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDAsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVUYWJQYW5lbCB7XHJcbiAgICB3aWR0aDogMjhlbTtcclxuICAgIGJhY2tncm91bmQ6ICRibGFjaztcclxuICAgIEBleHRlbmQgLmxhcmdlRHVyYXRpb25UcmFuc2l0aW9uO1xyXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCwgLTI4ZW0sIG51bGwsIG51bGwsIDUxMCk7XHJcblxyXG4gICAgLnB1c2hNZW51Q2xvc2VJY28ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgICAgICBjb2xvcjogI2U1ZTJlMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgdmlzaWJpbGl0eSAwbXMgbGluZWFyIDI1MG1zLCBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0IDBtcztcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmcsIC5wYW5lbC1wdXNobWVudS1ub2NoaWxkIHtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudSB7XHJcbiAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjYjRiMmFkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaG1lbnUtbGV2ZWwxIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAucGFuZWwge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHVzaE1lbnVTZXRBY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgMjhlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbn1cclxuXHJcblxyXG4uZm9yY2Uge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qLS0gbWFza2luZyB0aGUgcGFnZSBhZnRlciBvcGVuaW5nIG5hdmlnYXRpb24gLS0qL1xyXG4ucHVzaE1lbnVPdmVybGF5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDQsIDQ0LCA1MSwgMCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IHJpZ2h0IDM3NW1zIGVhc2UtaW4tb3V0IDBtcywgcmlnaHQgMG1zIGxpbmVhciAzNzVtcywgYmFja2dyb3VuZC1jb2xvciAzNzVtcyBlYXNlLWluLW91dCAwbXM7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIDAsIG51bGwsIDApO1xyXG59XHJcblxyXG4ucHVzaE1lbnVPcGVuIHtcclxuICAgIC5wdXNoTWVudU92ZXJsYXkge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NCwgNDQsIDUxLCAwLjkpO1xyXG4gICAgICAgIGN1cnNvcjogdXJsKCcvQXBwX1RoZW1lcy9EZWZhdWx0LWZhLUlSL2ltYWdlcy9jdXJzb3ItY2xvc2UucG5nJyksYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDBtcywgMG1zO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zLCAwbXMsIDM3NW1zO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyLCBlYXNlLWluLW91dDtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgbnVsbCwgbnVsbCwgNTAwKTtcclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVUYWJQYW5lbCB7XHJcbiAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgbGluZWFyO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgbnVsbCwgbnVsbCwgNTAwKTtcclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51V3JhcHBlciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCBudWxsLCA4MDMwKTtcclxufVxyXG5cclxuLypjbG9zZSBuYXZpZ2F0aW9uIGJ5IGNsaWNraW5nIG9uIG92ZXJsYXkgc2VjdGlvbiovXHJcbi50YWJwYW5lbFNldENsb3NlIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCAtMjhlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbn1cclxuXHJcbi5wdXNoTWVudUNsb3NlIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG59XHJcblxyXG5cclxuLypzdHlsZXMgZm9yIGhhbWJ1cmdlciBhbmQgY2xvc2UgYnV0dG9uICovXHJcbi5wdXNoTWVudVdyYXBwZXIge1xyXG4gICAgLnB1c2hNZW51T3BlbiB7XHJcbiAgICAgICAgLnRhYlBhbmVsU2V0IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGxpbmVhcjtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYlBhbmVsU2V0IHtcclxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJwYW5lbENvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBkaXJlY3Rpb246IGx0cjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQGV4dGVuZCAubGFyZ2VEdXJhdGlvblRyYW5zaXRpb247XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzc1bXMgZWFzZS1pbi1vdXQgMG1zLCByaWdodCAzNzVtcyBlYXNlLWluLW91dCAwbXMsIHZpc2liaWxpdHkgMG1zIGxpbmVhciAzNzVtcztcclxuICAgIH1cclxufVxyXG5cclxuLnB1c2hNZW51T3BlbiB7XHJcbiAgICAudGFiUGFuZWxDb250ZW50IHtcclxuICAgICAgICBAZXh0ZW5kIC5sYXJnZUR1cmF0aW9uVHJhbnNpdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBsaW5lYXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4udGFicGFuZWxDb250ZW50IC5jb250ZW50IHtcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBkaXJlY3Rpb246IHJ0bDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBjbG9zZSBib3ggKi9cclxuXHJcbi5wdXNoTWVudUNsb3NlSWNvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XHJcbiAgICBjb2xvcjogI2I0YjJhZDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAzZW07XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgd2lkdGg6IDNlbTtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCBudWxsLCBudWxsLCAwLCAxMDApO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMC4xOGVtIHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItdG9wLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSwgbnVsbCwgbnVsbCwgNTAlLCBudWxsKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItdG9wOiAwLjE4ZW0gc29saWQgJHdoaXRlO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci10b3AtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHM7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlLCBudWxsLCBudWxsLCA1MCUsIG51bGwpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFpbi1uYXYtb3BlbiAucHVzaE1lbnVUYWJQYW5lbCAucHVzaE1lbnVDbG9zZUljbywgLnB1c2hNZW51VGFiUGFuZWwgLnB1c2hNZW51Q2xvc2VJY28ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAxMDAwbXM7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIG51bGwsIG51bGwsIG51bGwsIG51bGwpO1xyXG59XHJcblxyXG4ucHVzaE1lbnVUYWJQYW5lbCB7XHJcbn1cclxuXHJcbi8qIEhhbWJ1cmdlciBJY29uICovXHJcbi5wdXNoTWVudVdyYXBwZXIge1xyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODAsIDE3OCwgMTczLCAwLjUpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcywgMG1zLCAwbXMsIDM3NW1zLCAzNzVtcywgMzc1bXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0LCBlYXNlLWluLW91dCwgbGluZWFyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgcGFkZGluZy1yaWdodCAyNTBtcyBlYXNlLWluLW91dCAwbXMsIHJpZ2h0IDM3NW1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpIDM3NW1zLCBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBtcywgY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMG1zLCB2aXNpYmlsaXR5IDBtcyBsaW5lYXIgMG1zO1xyXG4gICAgICAgIHdpZHRoOiA1ZW07XHJcbiAgICAgICAgaGVpZ2h0OiA0ZW07XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMS41ZW0gMi41ZW0gMWVtIDNlbTtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIC02ZW0sIG51bGwsIG51bGwsIDk5OTkpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4xNCksIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMTQpLCBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjE0KSwgZWFzZS1pbi1vdXQsIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAwLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCA5OTk5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oaWRlUHVzaE1lbnVMaW5rcyB7XHJcbiAgICAuaGFtYnVyZ2VyIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgLTFlbSwgbnVsbCwgbnVsbCwgOTk5OSk7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAtMC4zZW0sIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVMaW5rc1dyYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIC0yOGVtLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3dQdXNoTWVudUxpbmtzIHtcclxuICAgIC5wdXNoTWVudUxpbmtzV3JhcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgMCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24obnVsbCwgbnVsbCwgLTZlbSwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wdXNoTWVudU9wZW4uc2hvd1B1c2hNZW51TGlua3Mge1xyXG4gICAgLnB1c2hNZW51TGlua3NXcmFwIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihudWxsLCBudWxsLCAyOGVtLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51LCAucGFuZWwtcHVzaG1lbnUtbm9jaGlsZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYzJjMzM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG59XHJcblxyXG4ucGFuZWwtcHVzaG1lbnUge1xyXG4gICAgLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzOXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLXB1c2htZW51LW5vY2hpbGQge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmMyYzMzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXM7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtcHVzaG1lbnUgLnBhbmVsLWhlYWRpbmc6aG92ZXIgYSwgLnBhbmVsLXB1c2htZW51LW5vY2hpbGQ6aG92ZXIgYSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xyXG59XHJcblxyXG4ucGFuZWwtcHVzaG1lbnUge1xyXG5cclxuICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzJjMmMzMztcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDEwcHggOHB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXJpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBwYWRkaW5nLWxlZnQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcclxuXHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXJpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0IDBzLCBwYWRkaW5nLWxlZnQgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1pbi1vdXQgMHMsIGNvbG9yIDI1MG1zIGVhc2UtaW4tb3V0IDBzO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41ZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyYzJjMzM7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhbmVsLWhlYWRpbmdbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTM2XCI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjN2U3ZTdjO1xyXG4gICAgICAgICAgICBmb250OiAxOHB4LzQxcHggJHByaW1hcnktZm9udEljb247XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDQsIDQ0LCA1MSwgMC41KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIG51bGwsIG51bGwsIC00MHB4LCBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xsYXBzZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjN2U3ZTdjO1xyXG4gICAgICAgICAgICBmb250OiAxOHB4LzQxcHggJHByaW1hcnktZm9udEljb247XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDQsIDQ0LCA1MSwgMC41KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIG51bGwsIG51bGwsIC00MHB4LCBudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtcHVzaG1lbnUtbm9jaGlsZCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbn1cclxuXHJcbi5wYW5lbC1wdXNobWVudSB7XHJcbiAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgLnBhbmVsLXB1c2htZW51IHtcclxuICAgICAgICAgICAgLnBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLypQdXNoIE1lbnUgTG9nbyAqL1xyXG5cclxuLnB1c2hNZW51V3JhcHBlciB7XHJcbiAgICAucHVzaE1lbnVMb2dvIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWdQdXNoTWVudUxvZ28ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBQdXNoIE1lbnUgU2VhcmNoQm94ICovXHJcbi5wdXNoTWVudVNlYXJjaEJveCB7XHJcbiAgICAuZ2VuZXJhbFNlYXJjaEJveCB7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY2NjY7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDE4cHggMCAxOHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgaW5wdXR7XHJcbiAgICAgICAgICAgICAgICAmOmZvY3Vze1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLCAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyOiBtZWRpdW0gbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yO1xyXG5cclxuICAgICAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiB0YWIgcGFuZWwgbmV3cyBzdHlsZSAqL1xyXG4ucHVzaE1lbnVXcmFwcGVyIHtcclxuICAgIC5uZXdzTGlzdEl0ZW0gYSwgLm5ld3NMaXN0RGF0ZSB7XHJcbiAgICAgICAgY29sb3I6ICNiNGIyYWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3NMaXN0SXRlbSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYzJjMzM7XHJcbiAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJycgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNjcm9sbFRvVG9wIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDokcHVzaG1lbnUtYnJlYWstcG9pbnQpIHtcclxuICAgIC5oYW1idXJnZXIge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgICAgICByaWdodDogLTFlbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVNpbXBsZUxpbmtzV3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVMaW5rc1dyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51VGFiUGFuZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnBhbmVsQ29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51V3JhcHBlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51VGFiUGFuZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIC0xMzMlLCBudWxsLCBudWxsLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVPcGVuIHtcclxuICAgICAgICAucHVzaE1lbnVUYWJQYW5lbCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGFicGFuZWxDb250ZW50IHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnB1c2hNZW51T3BlbiB7XHJcbiAgICAgICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKG51bGwsIG51bGwsIC02ZW0sIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHVzaE1lbnVUYWJQYW5lbCAubmV3c0xpc3RJdGVtIC5uZXdzSW1hZ2UsIC5wdXNoTWVudU92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5wdXNoTWVudVdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG5cclxuICAgICAgICAudGFicGFuZWxDb250ZW50IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wdXNoTWVudVRhYlBhbmVsIHtcclxuICAgICAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIC0xMzMlLCBudWxsLCBudWxsLCA4MDMwKTtcclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKipOaWdodCBNb2RlKioqKioqKioqL1xyXG4ubmlnaHQtbW9kZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTIxMjEyO1xyXG4gICAgY29sb3I6ICNCMEIwQjAgIWltcG9ydGFudDtcclxuXHJcbiAgICAubWFpbkhlYWRlcldyYXAge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMxRDFEMUQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5Db250ZW50V3JhcCB7XHJcbiAgICAgICAgPiAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogIzFEMUQxRDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhbmVsLWJvZHkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMxRDFEMUQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBjb2xvcjogI0IwQjBCMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCLvu78vKioqKioqKioqKioqIFN0YXJ0IE9mIFBhcmFsbGF4ICoqKioqKioqKioqKiovXHJcbi5wYXJhbGxheCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyoqKioqKioqKioqKiBFbmQgT2YgUGFyYWxsYXggKioqKioqKioqKioqKi8iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblByaW50VmVyc2lvbiAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQG1lZGlhIHByaW50IHtcclxuICAgIGEge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vUHJpbnQge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZVxyXG4gICAgfVxyXG59Iiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5BZG1pbkJhciAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYWRtaW5iYXIge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICBtYXJnaW4tdG9wOiAtNTFweDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCBudWxsLCAwLCAwLCA4MDIwKTtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgYmFja2dyb3VuZDogIzFDMjMzMTtcclxuICAgIHBhZGRpbmc6IDdweCAyMHB4IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgIGNvbG9yOiAjMTExO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLG51bGwsbnVsbCwtMTdweCwwLC0xKTtcclxuICAgICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcRTg2Myc7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgIGNvbG9yOiAjMTExO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLG51bGwsbnVsbCwtMjVweCwzcHgsMCk7XHJcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXJcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnF1aWNrbGlua3Mge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXktbGlnaHRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDdweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBiYjNmOTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24tbWFuYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTFweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbi1zdGF0cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5uYXYge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICYubXlBY2NvdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9Db21wb25lbnRzL1NpdGVNZW1iZXIvUmVzb3VyY2VzL0ltYWdlcy9BdmF0YXIucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNob3dBZG1pbiB7XHJcbiAgICAmLmFkbWluYmFyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgLmFkbWluQmFyV3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkRhdGUgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmdlbmVyYWxDdXJyZW50RGF0ZVRpbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5kYXRldGltZVNlcGFyYXRvciB7XHJcbiAgICBwYWRkaW5nOiAwIDRweDtcclxufSIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuU2VhcmNoICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5lY28tc2VhcmNoLWJveCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwJTtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgLnNlYXJjaFdpdGhTdWdnZXN0aW9uIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMTgyMzUwO1xyXG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCOTkxNUU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICAuYnRuLXByaW1hcnkge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIC5zZWFyY2hUZXh0Qm94IHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmMjI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB3aWR0aDogODAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnB1dC1ncm91cC1idG4ge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lY28tc2VhcmNoLWJveEluZHVzdHJ5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjAlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNFREVCREU7XHJcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFCMTcxNjtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgIC5idG4tcHJpbWFyeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMUIxNzE2O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgLnNlYXJjaFRleHRCb3gge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY1NTtcclxuICAgICAgICAgICAgY29sb3I6ICMxQjE3MTY7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWJ0biB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4MTAxMDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVjby1zZWFyY2gtYm94TmV3IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjAlO1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24ge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwRDNBMzVlZTtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgIC5idG4tcHJpbWFyeSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgLnNlYXJjaFRleHRCb3gge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmYyMjtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmlucHV0LWdyb3VwLWJ0biB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJnUmVkIHtcclxuICAgIC5zZWFyY2hXaXRoU3VnZ2VzdGlvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzkxMDAyOTtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLWRlZmF1bHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTAwMjkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmZsZXhTZWFyY2hCb3gge1xyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kLWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5wdXQtZ3JvdXAtYnRuIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcblxyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmdlbmVyYWxTZWFyY2hCb3gge1xyXG4gICAgLmlucHV0LWdyb3VwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBjb2xvcjogIzg4OTRiNztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0biB7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5zZWFyY2h0aXRsZSB7XHJcbiAgICBjb2xvcjogIzAwMDBjYztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYS5zZWFyY2h0aXRsZSB7XHJcbiAgICAmOmxpbmsge1xyXG4gICAgICAgIGNvbG9yOiAjMDAwMGNjO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOnZpc2l0ZWQsICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogIzU1MUE4QjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogI2ViNzYyOTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAjZWI3NjI5IDAgc29saWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2hoaWdobGlnaHQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5zZWFyY2hjb3VudGVyIHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbn1cclxuXHJcbi5zZWFyY2hhZGRyZXNzIHtcclxuICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgIGNvbG9yOiAjMDA4MDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuYS5zZWFyY2hhZGRyZXNzIHtcclxuICAgICY6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICMwMDgwMDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuYS5hZGRyZXNzIHtcclxuICAgICY6dmlzaXRlZCwgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAjODI4NENDO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaG1vcmVyZXN1bHQge1xyXG4gICAgZm9udC1zaXplOiAuOTVlbTtcclxufVxyXG5cclxuYS5zZWFyY2htb3JlcmVzdWx0IHtcclxuICAgICY6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICM4Mjg0Q0M7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNlYXJjaGNvbnRlbnRsZW5ndGgge1xyXG4gICAgY29sb3I6ICM4ZDhkOGQ7XHJcbn1cclxuXHJcbi5zZWFyY2hwYWdlbnVtYmVyIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG59XHJcblxyXG4uc2VhcmNocGFnZW51bWJlciB7XHJcbiAgICB1bC5wYWdpbmF0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGEuc2VhcmNocHJldmlvdXM6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMDBCQlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGEuc2VhcmNobmV4dDo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlxcMDBBQlwiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFNlYXJjaCBTdHlsZSAqKioqKioqKioqKioqL1xyXG4uQ29tcG9uZW50U2VhcmNoQm94V3JhcCB7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAycHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4ICNhYWE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgLmNjYnN3VG9wIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jY2Jzd1RvcCB7XHJcbiAgICAgICAgc3Bhbi5jY2Jzd1RleHRUaXRsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgY29sb3I6ICNhZTE0MDY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkd2hpdGUgMTElLCByZ2IoMjUwLDI1MCwyNTApIDU2JSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jY2Jzd01pZGRsZSB7XHJcbiAgICAgICAgLmNjYnN3TWlkZGxlTGVmdCB7XHJcbiAgICAgICAgICAgIC5jY2Jzd01pZGRsZVJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIC5jY2Jzd01pZGRsZUNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2IoMjQzLDI0MywyNDMpIDE4JSwgJHdoaXRlIDU5JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKiBFbmQgT2YgU2VhcmNoIENvbXBvbmVudCAqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKiBTdGFydCBTZWFyY2ggTW9kdWxlICoqKioqKioqKioqKiovXHJcbi5tb2R1bGVTZWFyY2hSZXN1bHRXcmFwIHtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjREREQURBO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERERBREE7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgcGFkZGluZzogMnB4ICRwYWRkaW5nLXhzLWhvcml6b250YWw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGM0YzO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggN3B4ICRzZWFyY2gtY29sb3I7XHJcblxyXG4gICAgLnNlYXJjaEhlYWRlckxhYmVsIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGNvbG9yOiAjNmU2ZTZlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2hEZXRhaWxzSGVhZGVyTGFiZWwge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBjb2xvcjogIzZlNmU2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZVNlYXJjaFdyYXAge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKEltYWdlcy9Nb2R1bGVTZWFyY2gvTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0IHJpZ2h0IHRvcDtcclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIHBhZGRpbmc6IDAgNnB4IDAgNjFweDtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAuYmdJbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKEltYWdlcy9Nb2R1bGVTZWFyY2gvTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgIC50eHRTZWFyY2hXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiA3cHggMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRyb3BEb3duV3JhcCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtNjhweDtcclxuICAgICAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2VhcmNoLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCwgM3B4LCBudWxsLCBudWxsLCBudWxsKTtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hcnJvd0Rvd24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODFweCAtNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogOXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTFweCAwIDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubW9kdWxlU2VhcmNoU2VsZWN0IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIDAsIG51bGwsIG51bGwsIG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9kdWxlU2VhcmNoU3VibWl0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuXHJcbiAgICAgICAgLmJ0blN1Ym1pdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzOXB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNtYWxsTW9kdWxlU2VhcmNoV3JhcCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoSW1hZ2VzL01vZHVsZVNlYXJjaC9TbWFsbE1vZHVsZVNlYXJjaC5wbmcpIG5vLXJlcGVhdCByaWdodCB0b3A7XHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBwYWRkaW5nOiAwIDZweCAwIDI3cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLmJnSW1hZ2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybChJbWFnZXMvTW9kdWxlU2VhcmNoL1NtYWxsTW9kdWxlU2VhcmNoLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG5cclxuICAgIC50eHRTZWFyY2hXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZHJvcERvd25XcmFwIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC00NHB4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgcGFkZGluZzogMCAkcGFkZGluZy14cy1ob3Jpem9udGFsO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzcHgsIDNweCwgbnVsbCwgbnVsbCwgbnVsbCk7XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFycm93RG93biB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zM3B4IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2R1bGVTZWFyY2hTZWxlY3Qge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWFyY2gtY29sb3I7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwLCAwLCBudWxsLCBudWxsLCA5OTk5OTkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubW9kdWxlU2VhcmNoU3VibWl0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIG51bGwsIG51bGwsIDAsIG51bGwpO1xyXG5cclxuICAgICAgICAuYnRuU3VibWl0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMjFweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkxhbmd1YWdlICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5zZWxlY3RMYW5ndWFnZVdyYXAge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDEycHggMDtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDNweDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgM3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgYTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuVG9vbHMgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmdlbmVyYWxUb29sc0JveCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAmID4gZGl2IHtcclxuICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2U7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0ZmMwZTg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kLWJhY2tncm91bmQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMXM7XHJcbiAgICB9XHJcblxyXG4gICAgLmdseXBoaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMCAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNvY2lhbE5ldHdvcmtJdGVtV3JhcCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRlbGxhZnJpZW5kUGFnZSB7XHJcbiAgICAuZm9ybUxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Tb2NpYWwgTmV0d29yayAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uc29jaWFsTmV0d29ya3NXcmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNvaWNhbEJveEZpeDpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5zb2ljYWxCb3hGaXg6Zm9jdXMtd2l0aGluIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxufVxyXG5cclxuLnNvaWNhbEJveEZpeCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDEwMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG4gICAgbWF4LXdpZHRoOiAzMzBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMHB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgLnBhbmVsLXN0eWxlMS5wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC5wYW5lbC1ib2R5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTEwcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDU4JTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzg1MTgyQztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDEycHggMTJweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKDUwJSwgLTEwMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0NXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc29jaWFsTmV0d29ya3NXcmFwcGVyIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcclxuXHJcbiAgICAgICAgICAgIC5saW5rZWRpbldyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5iYWxlV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogNztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFwYXJhdFdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zb3JvdXNoV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRlbGVncmFtV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLndoYXRzYXBwV3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmluc3RhZ3JhbVdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5laXRhYVdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTJweDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZ2x5cGhpY29uLXNvcm91c2gge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzI4OEExO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZ2x5cGhpY29uLXdoYXRzYXBwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNDVDMzM5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZ2x5cGhpY29uLXRlbGVncmFtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXEU3NDknO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxQjkyRDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24tYXBhcmF0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjREQxNjVGO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcRTcwMSc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24taW5zdGFncmFtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRTMxMzc1O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZ2x5cGhpY29uLWxpbmtlZGluIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXEU4OTInO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzMTgyREY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5nbHlwaGljb24tYmFsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzA5QkE4QjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbi1laXRhYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGNzUwQztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmdseXBoaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjdweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Td2l0Y2hCYXIgICAgICAgICAgICAgICAgICAgXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI2dlbmVyYWxTd2l0Y2hCYXJXcmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zd2l0Y2hCYXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBjb2xvcjogIzZhNmE2YTtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICM2YTZhNmE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3dpdGNoQmFyU2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICM1ODU4NWE7XHJcblxyXG4gICAgJjpsaW5rLCAmOnZpc2l0ZWQsICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqQnJlYWRjcnVtYioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYnJlYWRjcnVtYiB7XHJcbiAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgKyBsaTpiZWZvcmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICM2YTZhNmE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICM2YTZhNmE7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJTREZcIjtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNGZjMGVhO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbiIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuUGFnZSBOYXZpZ2F0ZSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uZ29Ub1RvcCB7XHJcbiAgICB3aWR0aDogNDZweDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCxudWxsLCA2JSwgMyUsIDk5OSk7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDBweCA1cHggNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMxcHg7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnXFxFODBGJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjZzO1xyXG4gICAgICAgIGZvbnQ6IG5vcm1hbCAuOGVtLzI3cHggJHByaW1hcnktZm9udEljb247XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKiBTdGFydCBPZiBMaW5lYXIgRm9vdGVyICoqKioqKioqKioqKiovXHJcbi5saW5lYXJGb290ZXIge1xyXG4gICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmctYmFzZSAwO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjRzIGFsbDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzUwYzFlOTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4pePJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjNzU4MmIxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqIEdlbnJhbCBGb290ZXIgTGlua3MgKioqKioqKioqKioqKioqL1xyXG4uZm9vdGVyTmF2IHtcclxuICAgIC5mb290ZXJJdGVtIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgaDUgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNGZjMWU5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCLvu78uZ2VuZXJhbFBvd2VyZWRCeSB7XHJcbiAgICBjb2xvcjogI2FjYWNhYztcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICBjb2xvcjogI2FjYWNhYztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2U0ZTRlNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LyoqKioqKioqKioqKiBTdGFydCBPZiBCb3ggU3R5bGUgKioqKioqKioqKioqKi9cclxuLmFjY29yZGlvbi10b2dnbGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0YXJ0IE9mIFBhbmVsLVN0eWxlcyAqKioqKioqKioqKioqL1xyXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDV7XHJcbiAgICAucGFuZWwtc3R5bGUjeyRpfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcGFuZWwtc3R5bGUobnRoKCRwYW5lbC1iZywgJGkpLCBudGgoJHBhbmVsLWJvcmRlciwgJGkpLCBudGgoJHBhbmVsLWJvcmRlci1yYWRpdXMsICRpKSwgbnRoKCRwYW5lbC1ib3gtc2hhZG93LCAkaSksIG50aCgkcGFuZWwtaGVhZGluZy1iZywgJGkpLCBudGgoJHBhbmVsLWhlYWRpbmctY29sb3IsICRpKSwgbnRoKCRwYW5lbC1oZWFkaW5nLWZvbnQtc2l6ZSwgJGkpLCBudGgoJHBhbmVsLWhlYWRpbmctZm9udC13ZWlnaHQsICRpKSwgbnRoKCRwYW5lbC1oZWFkaW5nLWFsaWduLCAkaSksIG50aCgkcGFuZWwtaGVhZGluZy1ib3JkZXIsICRpKSwgbnRoKCRwYW5lbC1oZWFkaW5nLWJvcmRlci1yYWRpdXMsICRpKSwgbnRoKCRwYW5lbC1ib2R5LWJnLCAkaSksIG50aCgkcGFuZWwtYm9keS1ib3JkZXIsICRpKSwgbnRoKCRwYW5lbC1ib2R5LWJveC1zaGFkb3csICRpKSwgbnRoKCRwYW5lbC1nbHlwaGljb24tZm9udC1zaXplLCAkaSksIG50aCgkcGFuZWwtZ2x5cGhpY29uLWNvbG9yLCAkaSksIG50aCgkcGFuZWwtZ2x5cGhpY29uLWZsb2F0LCAkaSksIG50aCgkcGFuZWwtZ2x5cGhpY29uLWhvdmVyLWNvbG9yLCAkaSksIG50aCgkcGFuZWwtbW9yZVRpdGxlLWZvbnQtc2l6ZSwgJGkpLCBudGgoJHBhbmVsLW1vcmVUaXRsZS1jb2xvciwgJGkpLCBudGgoJHBhbmVsLW1vcmVUaXRsZS1iYWNrZ3JvdW5kLCAkaSksIG50aCgkcGFuZWwtbW9yZVRpdGxlLWJvcmRlciwgJGkpLCBudGgoJHBhbmVsLW1vcmVUaXRsZS1ib3gtc2hhZG93LCAkaSksIG50aCgkcGFuZWwtbW9yZVRpdGxlLWJvcmRlci1yYWRpdXMsICRpKSwgbnRoKCRwYW5lbC1tb3JlVGl0bGUtaG92ZXItY29sb3IsICRpKSwgbnRoKCRwYW5lbC1tb3JlVGl0bGUtaG92ZXItYmFja2dyb3VuZCwgJGkpLCBudGgoJHBhbmVsLW1vcmVUaXRsZS1ob3Zlci1ib3JkZXItY29sb3IsICRpKSwgbnRoKCRwYW5lbC1ib3hMYXN0VXBkYXRlLWNvbG9yLCAkaSksIG50aCgkcGFuZWwtYm94TGFzdFVwZGF0ZS1mb250LXNpemUsICRpKSwgbnRoKCRwYW5lbC1ib3hMYXN0VXBkYXRlLWFsaWduLCAkaSkpO1xyXG5cclxuICAgICAgICBAaWYgJGkgPT0gMSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcclxuXHJcbiAgICAgICAgICAgID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbn1cclxuXHJcbi8qKioqKiBQYW5lbCBPcHRpb25zICovXHJcbi5wYW5lbC1oZWFkaW5nIC50aXRsZS1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA3cHggMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxZW0gIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjkgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDM3cHg7XHJcblxyXG4gICAgLmFjY29yZGlvbi1jYXJldCB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFuZWwtb3B0aW9ucyB7XHJcbiAgICBtYXJnaW46IDZweDtcclxuXHJcbiAgICAuYnRuIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgICAgICBtaW4td2lkdGg6IDMwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tdG9vbHMge1xyXG4gICAgICAgICYsICY6Zm9jdXN7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICMxYmJhZTE7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzFiYmFlMTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlLCAmLmFjdGl2ZTpmb2N1cywgJjpob3ZlcntcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFiYmFlMTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWJiYWUxO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLW9wdGlvbnMgLmJ0bi1zaG9ydGN1dCAuZ2x5cGhpY29uLFxyXG4ucGFuZWwtb3B0aW9ucyAuYnRuLXRvb2xzIC5nbHlwaGljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxufSIsIu+7vy8qKioqKioqKioqKiogU3RhcnQgT2YgVGFiIFN0eWxlICoqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKiogVGFiIFN0eWxlMSAqKioqKioqKioqKioqL1xyXG4udGFiLWNvbnRhaW5lci1zdHlsZTEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICAubmF2LXRhYnMge1xyXG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCAwICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2UgJGJvcmRlci1yYWRpdXMtbGFyZ2UgMCAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xyXG5cclxuICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLXByaW1hcnk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYi1jb250ZW50IHtcclxuICAgICAgICAudGFiLXBhbmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKiogVGFiIE1vYmlsZSBTdHlsZSAqKioqKioqKioqKioqKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLnRhYi13cmFwcGVyIHtcclxuICAgICAgICAucGFuZWwtZGVmYXVsdCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgICAgICAgICA+IC5wYW5lbC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIC5nbHlwaGljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIEVuZCBPZiBUYWIgU3R5bGUgKioqKioqKioqKioqKi9cclxuIiwi77u/LnRhYmxlLWhvdmVyIHtcclxuICAgICYgPiB0Ym9keSB7XHJcbiAgICAgICAgJiA+IHRyIHtcclxuICAgICAgICAgICAgJjpub3QoLmdyaWRIZWFkZXIpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmlubmVyR3JpZFdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLnBhZ2VyQ3VzdG9tR3JpZCB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheS1saWdodGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqR3JheSBTa2luKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5ncmF5U2tpbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0ciB7XHJcbiAgICAmOm50aC1jaGlsZCgybisxKSwgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRoZW1lLWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JheVNraW4uZ3JpZEhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkdGhlbWUtY29sb3IgIWltcG9ydGFudDtcclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuIiwi77u/LmlubmVyR3JpZFdyYXBwZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5uZXJHcmlkIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkMmQyZDIgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4ICM5MDkwOTA7XHJcblxyXG4gICAgJi50YWJsZS1zdHJpcGVkID4gdGJvZHkge1xyXG4gICAgICAgID4gdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmM2YzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHRyOmhvdmVyOm50aC1jaGlsZCgybisxKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5uZXJHcmlkIC5ncmlkSGVhZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkSGVhZGVyIHtcclxuICAgIHRoIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkMmQyZDI7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAuZ2x5cGhpY29uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu78vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblBhZ2VyICAgICAgICAgICAgICAgICAgIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5jb2wtY2VudGVyZWQge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxudHIucGFnZXJDdXN0b21HcmlkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmMGYzZjY7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjBmM2Y2IDAsI2UwZTNlYSAxMDAlKTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAjZjlmYWZiO1xyXG59XHJcblxyXG4ucGFnZXJDdXN0b21HcmlkIHtcclxuICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjMzczNzM3O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMnB4O1xyXG4gICAgICAgIGhlaWdodDogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2VyQ3VzdG9tR3JpZFRhYmxlIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDZlMDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkd2hpdGU7XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2VyQ3VzdG9tR3JpZENvdW50VGFibGUge1xyXG4gICAgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2VyQ3VzdG9tR3JpZE51bWJlcnMge1xyXG4gICAgY29sb3I6ICMyYjNhNGE7XHJcbiAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxNnB4O1xyXG4gICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDJweDtcclxuICAgICAgICBjb2xvcjogIzVjNmI4OTtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG59XHJcblxyXG5hLnBhZ2VyQ3VzdG9tR3JpZDpsaW5rLFxyXG5hLnBhZ2VyQ3VzdG9tR3JpZDphY3RpdmUsXHJcbmEucGFnZXJDdXN0b21HcmlkOnZpc2l0ZWQsXHJcbmEucGFnZXJDdXN0b21HcmlkTmV4dCxcclxuYS5wYWdlckN1c3RvbUdyaWRQcmV2IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1pbi13aWR0aDogMTZweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHBhZGRpbmc6IDAgMnB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzVjNmI4OTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGNvbG9yOiAjNWM2Yjg5O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5hLnBhZ2VyQ3VzdG9tR3JpZDpob3ZlcixcclxuYS5wYWdlckN1c3RvbUdyaWROZXh0OmhvdmVyLFxyXG5hLnBhZ2VyQ3VzdG9tR3JpZFByZXY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllYTViMztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi5wYWdlck51bWJlclRleHQge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBjb2xvcjogIzM3MzczNztcclxuICAgIGRpcmVjdGlvbjogcnRsO1xyXG4gICAgdW5pY29kZS1iaWRpOiBlbWJlZDtcclxufVxyXG5cclxuLnBhZ2VyQ2VsbERpciB7XHJcbiAgICBkaXJlY3Rpb246IHJ0bDtcclxufVxyXG5cclxuLnBhZ2VyQ3VzdG9tR3JpZENlbGwge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAuc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2VyQ3VzdG9tR3JpZENlbGxHb3RvIHtcclxuICAgIHdpZHRoOiAxMTBweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAudGV4dGJveCB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAucGFnZXJXcmFwcGVyIGE6bm90KC5zZWxlY3RlZCk6bm90KC5wcmV2aW91c1BhZ2UpOm5vdCgubmV4dFBhZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iLCLvu78vKioqKioqKioqKioqIFN0YXJ0IE9mIFBhZ2VyIFdyYXBwZXIgKioqKioqKioqKioqKi9cclxuIiwi77u/Lm5vdGlmeSB7XHJcbiAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICAgICAgICB3aWR0aDogMjJweDtcclxuICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgdG9wOiA2cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGFzLWZlZWRiYWNrIC50b29sdGlwLmJvdHRvbXtcclxuICAgICAgICAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50b29sdGlwLWFycm93OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAycHgsIG51bGwsIG51bGwsIC00cHgsIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAyMHB4IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmYTM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudG9vbHRpcC1hcnJvdzpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAsIG51bGwsIG51bGwsIC01cHgsIG51bGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmMWQwMzE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oYXMtZmVlZGJhY2sgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcclxuICAgICAgICBjb2xvcjogIzlhNTU3NDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmYTM7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWQwMzE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggMCByZ2JhKDIyMSwyMjEsMjIxLDAuODQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xOGVtO1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsLCBudWxsLCBudWxsLCAwLCBudWxsKTtcclxuICAgIH1cclxufSIsIu+7vy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQmFzaWMgU3R5bGUgICAgICAgICAgICAgICAgICAgXHJcbiogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cclxuKiBZb3UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlc2UgcnVsZXMgdG8gYXBwbHkgeW91ciBkZXNpZ24uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi5ub1VpLXRhcmdldCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXJlY3Rpb246IGx0cjtcclxuXHJcbiAgICAmLCAqIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub1VpLWJhc2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5ub1VpLW9yaWdpbiB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCwgMCwgMCwgMCwgbnVsbCk7XHJcbn1cclxuXHJcbi5ub1VpLWhhbmRsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4ubm9VaS1zdGFja2luZyAubm9VaS1oYW5kbGUge1xyXG4gICAgLyogVGhpcyBjbGFzcyBpcyBhcHBsaWVkIHRvIHRoZSBsb3dlciBvcmlnaW4gd2hlblxyXG5pdHMgdmFsdWVzIGlzID4gNTAlLiAqL1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5ub1VpLXN0YWNraW5nICsgLm5vVWktb3JpZ2luIHtcclxuICAgIC8qIEZpeCBzdGFja2luZyBvcmRlciBpbiBJRTcsIHdoaWNoIGluY29ycmVjdGx5XHJcbmNyZWF0ZXMgYSBuZXcgY29udGV4dCBmb3IgdGhlIG9yaWdpbnMuICovXHJcbiAgICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MsIHRvcCAwLjNzO1xyXG59XHJcblxyXG4ubm9VaS1zdGF0ZS1kcmFnICoge1xyXG4gICAgY3Vyc29yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogUGFpbnRpbmcgYW5kIHBlcmZvcm1hbmNlO1xyXG4qIEJyb3dzZXJzIGNhbiBwYWludCBoYW5kbGVzIGluIHRoZWlyIG93biBsYXllci4gKioqKioqKioqKioqKi9cclxuLm5vVWktYmFzZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxufVxyXG5cclxuLyoqKioqKioqKioqKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudCAqKioqKioqKioqKioqL1xyXG4ubm9VaS1ob3Jpem9udGFsIHtcclxuICAgIGhlaWdodDogMThweDtcclxufVxyXG5cclxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xyXG4gICAgd2lkdGg6IDM0cHg7XHJcbiAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICBsZWZ0OiAtMTdweDtcclxuICAgIHRvcDogLTZweDtcclxufVxyXG5cclxuLm5vVWktdmVydGljYWwge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcblxyXG4gICAgLm5vVWktaGFuZGxlIHtcclxuICAgICAgICB3aWR0aDogMjhweDtcclxuICAgICAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICAgICAgbGVmdDogLTZweDtcclxuICAgICAgICB0b3A6IC0xN3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIFN0eWxpbmcgKioqKioqKioqKioqKi9cclxuLm5vVWktYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNmMGYwZjA7XHJcbn1cclxuXHJcbi5ub1VpLWNvbm5lY3Qge1xyXG4gICAgYmFja2dyb3VuZDogIzNGQjhBRjtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSg1MSw1MSw1MSwwLjQ1KTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgNDUwbXM7XHJcbn1cclxuXHJcbi5ub1VpLW9yaWdpbiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbi5ub1VpLXRhcmdldCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNEM0QzO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNGMEYwRjAsIDAgM3B4IDZweCAtNXB4ICNCQkI7XHJcbn1cclxuXHJcbi5ub1VpLXRhcmdldC5ub1VpLWNvbm5lY3Qge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLDUxLDUxLDAuNDUpLCAwIDNweCA2cHggLTVweCAjQkJCO1xyXG59XHJcblxyXG4ucmFuZ2VTbGlkZXJXcmFwcGVyIC52YWx1ZVVwcGVyLCAucmFuZ2VTbGlkZXJXcmFwcGVyIC52YWx1ZUxvd2VyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5yYW5nZVNsaWRlcldyYXBwZXIge1xyXG4gICAgLm5vVWktY29ubmVjdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzgwQzlGNTtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoNTEsNTEsNTEsMC40NSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKiogSGFuZGxlcyBBbmQgQ3Vyc29ycyAqKioqKioqKioqKioqL1xyXG4ubm9VaS1kcmFnYWJsZSB7XHJcbiAgICBjdXJzb3I6IHctcmVzaXplO1xyXG59XHJcblxyXG4ubm9VaS12ZXJ0aWNhbCB7XHJcbiAgICAubm9VaS1kcmFnYWJsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBuLXJlc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLm5vVWktaGFuZGxlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEOUQ5RDk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAkd2hpdGUsIGluc2V0IDAgMXB4IDdweCAjRUJFQkVCLCAwIDNweCA2cHggLTNweCAjQkJCO1xyXG59XHJcblxyXG4ubm9VaS1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAkd2hpdGUsIGluc2V0IDAgMXB4IDdweCAjRERELCAwIDNweCA2cHggLTNweCAjQkJCO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqIEhhbmRsZSBTdHJpcHMgKioqKioqKioqKioqKi9cclxuLm5vVWktaGFuZGxlOmJlZm9yZSxcclxuLm5vVWktaGFuZGxlOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlICBwb3NpdGlvbihhYnNvbHV0ZSwgNnB4LCBudWxsLCBudWxsLCAxNnB4LCBudWxsKTtcclxuICAgIGhlaWdodDogMTRweDtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjRThFN0U2O1xyXG59XHJcblxyXG4ubm9VaS1oYW5kbGU6YWZ0ZXIge1xyXG4gICAgbGVmdDogMTdweDtcclxufVxyXG5cclxuLm5vVWktdmVydGljYWwge1xyXG4gICAgLm5vVWktaGFuZGxlOmJlZm9yZSwgLm5vVWktaGFuZGxlOmFmdGVyIHtcclxuICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBsZWZ0OiA2cHg7XHJcbiAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5ub1VpLWhhbmRsZTphZnRlciB7XHJcbiAgICAgICAgdG9wOiAxN3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqIERpc2FibGVkIFN0eWxlICoqKioqKioqKioqKiovXHJcbiBbZGlzYWJsZWRdIHtcclxuICAgIC5ub1VpLWhhbmRsZSB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxuXHJcbiAgICAmLm5vVWktY29ubmVjdCwgJiAubm9VaS1jb25uZWN0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjQjhCOEI4O1xyXG4gICAgfVxyXG59Iiwi77u/LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5NZWRpYSBRdWVyeSAgICAgICAgICAgICAgICAgICBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAuZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmVjby1zZWFyY2gtYm94SW5kdXN0cnkgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcclxuICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmVjby1zZWFyY2gtYm94TmV3IC5pbnB1dC1ncm91cCAuc2VhcmNoVGV4dEJveCB7XHJcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCkge1xyXG4gICAgLmVjby1zZWFyY2gtYm94IC5zZWFyY2hXaXRoU3VnZ2VzdGlvbixcclxuICAgIC5lY28tc2VhcmNoLWJveE5ldyAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24sXHJcbiAgICAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSAuc2VhcmNoV2l0aFN1Z2dlc3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5lY28tc2VhcmNoLWJveCwgLmVjby1zZWFyY2gtYm94TmV3LCAuZWNvLXNlYXJjaC1ib3hJbmR1c3RyeSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAuZWNvLXNlYXJjaC1ib3ggLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcclxuICAgICAgICB3aWR0aDogNzYlO1xyXG4gICAgfVxyXG5cclxuICAgIC5lY28tc2VhcmNoLWJveE5ldyAuaW5wdXQtZ3JvdXAgLnNlYXJjaFRleHRCb3gge1xyXG4gICAgICAgIHdpZHRoOiA3NiU7XHJcbiAgICB9XHJcblxyXG4gICAgLmVjby1zZWFyY2gtYm94SW5kdXN0cnkgLmlucHV0LWdyb3VwIC5zZWFyY2hUZXh0Qm94IHtcclxuICAgICAgICB3aWR0aDogNzYlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nb1RvVG9wIHtcclxuICAgICAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHJpZ2h0OiAzNXB4O1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbGxhcHNlZENvbHVtbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM1MDU4Nzg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlck5hdiB7XHJcbiAgICAgICAgLmNvbGxhcHNlZENvbHVtbiB1bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sbGFwc2VkQ29sdW1uIGg1IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MDUnO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnRJY29uO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01cHgsIG51bGwsIG51bGwsIDEwcHgsIG51bGwpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM0RkMxRTk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY2xvc2VkIHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTgwNic7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHtcclxuICAgICAgICBsaSB1bCBsaSAuc3ViLWFycm93LCB1bCB1bCAuY29sbGFwc2libGUgLnN1Yi1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU4NTg1YSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSwgbnVsbCwgbnVsbCwgMTBweCwgbnVsbCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLXJpZ2h0LnNmLWhvcml6b250YWwge1xyXG4gICAgICAgIGxpIHVsIGxpIGE6aG92ZXIgLnN1Yi1hcnJvdywgdWwgdWwgLmNvbGxhcHNpYmxlIGE6aG92ZXIgLnN1Yi1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Y1MDMwMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUgIWltcG9ydGFudCwgNTAlLCBudWxsLCBudWxsLCAxMHB4LCBudWxsKTtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tYWluSGVhZGVyV3JhcCB7XHJcbiAgICAgICAgLmdseXBoaWNvbi1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5tYWluU2l0ZW1lbWJlcldlbGNvbWUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAubWFpblNlbGVjdExhbmd1YWdlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5TZWFyY2hCb3gge1xyXG4gICAgICAgIC5nZW5lcmFsU2VhcmNoQm94IHtcclxuICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNnB4IDNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5tYWluTmF2aWdhdGlvbldyYXAge1xyXG4gICAgICAgIC5tYWluU21hbGxNZW51V3JhcCB7XHJcbiAgICAgICAgICAgIC5tYWluTWVudSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGRkZGQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZGRkZDtcclxuXHJcbiAgICAgICAgICAgICAgICAubmF2YmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ODU4NUE7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuaWNvbi1iYXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkZm9udC1jb2xvci1oLCA1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tYWluTWVudSB7XHJcbiAgICAgICAgLm5hdmJhci1yaWdodCB7XHJcbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDRweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxNzBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5Gb290ZXJXcmFwIHtcclxuICAgICAgICAuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGVNZW1iZXJXZWxjb21lV3JhcCwgLmdlbmVyYWxDdXJyZW50RGF0ZVRpbWUsIC5nZW5lcmFsU2VsZWN0TGFuZ3VhZ2UsIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvICoge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcclxuICAgICAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICB0YWJsZTpub3QoLnRhYmxlLWV4Y2x1ZGUpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC41KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5vZmZDYW52YXNJblJlc3BvbnNpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCA0MHB4LCBudWxsLCAwLCAtMzIwcHgsIDgwNDApO1xyXG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAkYmxhY2s7XHJcblxyXG4gICAgICAgIC5tZW51M2RtZWdhLnJlc3BvbnNpdmUge1xyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZkNhbnZhc0luUmVzcG9uc2l2ZSAubWVudTNkbWVnYS5yZXNwb25zaXZlIHtcclxuICAgICAgICA+IHVsID4gbGksIGxpLm1lbnUtbm9uLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vZmZDYW52YXNNZW51VG9nZ2xlIHtcclxuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCwgODA0MSk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAkYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZkNhbnZhc01lbnVUb2dnbGUge1xyXG4gICAgICAgIC5tZWdhTWVudVRvZ2dsZUljb24ge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm5hdmJhci1yaWdodC5zZi1ob3Jpem9udGFsIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHVsLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTM5LjlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAhaW1wb3J0YW50LCAxMDAlICFpbXBvcnRhbnQsIG51bGwsIGF1dG8gIWltcG9ydGFudCwgbnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XHJcbn1cclxuXHJcbkBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xyXG59XHJcbiIsIu+7vy5jb2xvcjEge1xyXG4gICAgLmhlYWRlckJvdHRvbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzI2MmM0NDtcclxuICAgIH1cclxuXHJcbiAgICAubWFpbkhlYWRlcldyYXAge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAjMzEzODU0O1xyXG4gICAgfVxyXG5cclxuICAgIC5nZW5lcmFsU2VhcmNoQm94IC5pbnB1dC1ncm91cCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzM5NDI2MztcclxuICAgIH1cclxuXHJcblxyXG4gICAgLnBhbmVsLXN0eWxlMS5wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5NDI2MztcclxuICAgIH1cclxuXHJcbiAgICAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTQyNjM7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMzk0MjYzICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5Gb290ZXJXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMzk0MjYzO1xyXG4gICAgfVxyXG5cclxuICAgIC5nb1RvVG9wIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjNGZjMGVhO1xyXG4gICAgfVxyXG5cclxuICAgIC5yYWRjb21Db3B5cmlnaHRBbmRMb2dvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMjYyYzQ0O1xyXG4gICAgfVxyXG59XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLmNvbG9yMiB7XHJcbiAgICAuaGVhZGVyQm90dG9tIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluSGVhZGVyV3JhcCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJhZGNvbUNvcHlyaWdodEFuZExvZ28ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnBhbmVsLXN0eWxlMS5wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgIH1cclxuXHJcbiAgICAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5Gb290ZXJXcmFwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMTcxNzE3O1xyXG4gICAgfVxyXG5cclxuICAgIC5nb1RvVG9wIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjODA4MDgwO1xyXG4gICAgfVxyXG59XHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uY29sb3IzIHtcclxuICAgIC5oZWFkZXJCb3R0b20ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIH1cclxufVxyXG5cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0IHtcclxuICAgIC5jb2xvci1waWNrZXIjeyRpfSB7XHJcbiAgICAgICAgQGlmICRpID09IDEge1xyXG4gICAgICAgICAgICAuaGVhZGVyQm90dG9tLCAubWFpbkZvb3RlcldyYXAsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyxcclxuICAgICAgICAgICAgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcclxuICAgICAgICAgICAgIC8vICAgQGluY2x1ZGUgY29sb3ItcGlja2VyKG50aCgkdGV4dC1jb2xvciwgJGkpLCBudGgoJGJhY2tncm91bmQtY29sb3IsICRpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkaSA9PSAyIHtcclxuICAgICAgICAgICAgLmhlYWRlckJvdHRvbSwgLm1haW5Gb290ZXJXcmFwLCAucGFuZWwtc3R5bGUxID4gLnBhbmVsLWhlYWRpbmcsXHJcbiAgICAgICAgICAgIC5tZW51M2RtZWdhID4gdWwgbGk6aG92ZXIsIC5tZW51M2RtZWdhID4gdWwgbGkuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2xvci1waWNrZXIobnRoKCR0ZXh0LWNvbG9yLCAkaSksIG50aCgkYmFja2dyb3VuZC1jb2xvciwgJGkpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICRpID09IDMge1xyXG4gICAgICAgICAgICAuaGVhZGVyQm90dG9tLCAubWFpbkZvb3RlcldyYXAsIC5wYW5lbC1zdHlsZTEgPiAucGFuZWwtaGVhZGluZyxcclxuICAgICAgICAgICAgLm1lbnUzZG1lZ2EgPiB1bCBsaTpob3ZlciwgLm1lbnUzZG1lZ2EgPiB1bCBsaS5jdXJyZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yLXBpY2tlcihudGgoJHRleHQtY29sb3IsICRpKSwgbnRoKCRiYWNrZ3JvdW5kLWNvbG9yLCAkaSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGkgPT0gNCB7XHJcbiAgICAgICAgICAgIC5oZWFkZXJCb3R0b20sIC5tYWluRm9vdGVyV3JhcCwgLnBhbmVsLXN0eWxlMSA+IC5wYW5lbC1oZWFkaW5nLFxyXG4gICAgICAgICAgICAubWVudTNkbWVnYSA+IHVsIGxpOmhvdmVyLCAubWVudTNkbWVnYSA+IHVsIGxpLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sb3ItcGlja2VyKG50aCgkdGV4dC1jb2xvciwgJGkpLCBudGgoJGJhY2tncm91bmQtY29sb3IsICRpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbn0iXX0= */
 
/* End of /App_Themes/blank-fa-IR/blank-fa-IR.css*/ 
