diff --git a/dist/app.css b/dist/app.css index 8a5f99d8..3fbcd5f5 100644 --- a/dist/app.css +++ b/dist/app.css @@ -1,5 +1,5 @@ /*! - * Chimera UI Libraries - Build 0.28.1 (1/29/2025, 11:57:20) + * Chimera UI Libraries - Build 0.28.3 (1/29/2025, 14:06:33) * */ .no-font{font-size:0;line-height:0}.margin-auto{margin-left:auto;margin-right:auto}.no-margin{margin:0}.full-width{width:100%;max-width:100%}.position-absolute-0{top:0;bottom:0;left:0;right:0}.hide-all{display:none}.hide-overflow{height:0;overflow:hidden;visibility:hidden}.no-border-no-outline{border:0;outline:0}.focused:focus{outline:0}@media only screen and (min-width:1200px){.focused:focus{outline:2px solid #1492e6}}.focus-pseudo-element{position:relative}.focus-pseudo-element:focus:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;border:2px solid #1473e6;z-index:1}.focus-shadow-round{position:relative}.focus-shadow-round:focus:after{border-radius:18px;content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;margin:-2px;transition:box-shadow .13s ease-out,margin .13s ease-out;box-shadow:0 0 0 2px #1492e6}.focus-underline:focus{box-shadow:0 2px 0 0 #1492e6}.card-hover:hover{box-shadow:0 3px 6px 0 rgba(0,0,0,.16);transition:box-shadow .3s ease-in-out}.card-hover-header [class*=-header]{position:relative}.card-hover-header [class*=-header]:after{position:absolute;content:"";top:0;bottom:0;left:0;right:0;margin:auto;z-index:0;background-color:rgba(0,0,0,.35);opacity:0;transition:opacity .3s ease-in-out}.card-hover-header:hover [class*=-header]:after{opacity:1}.video-button-styles{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.video-button-styles:active,.video-button-styles:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.video-button-styles:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.hide{display:none!important}@keyframes circle{0%{transform:rotate(0deg)}70%,to{transform:rotate(1turn)}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}@keyframes carousel-fade-button{0%{opacity:0}to{opacity:1}}.consonant-Wrapper button{border:0;outline:0;cursor:pointer}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content{background:transparent linear-gradient(180deg,transparent,hsla(0,0%,100%,.5) 15%,hsla(0,0%,100%,.8) 40%,#fff) 0 0 no-repeat padding-box}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-header:after,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-header:after{background:transparent linear-gradient(180deg,hsla(0,0%,100%,.01) 35%,hsla(0,0%,100%,.75) 60%,hsla(0,0%,100%,.85)) 0 0 no-repeat}.consonant-u-themeLight .consonant-CardsGrid .consonant-FiltersInfo-results,.consonant-u-themeLight .consonant-CardsGrid .consonant-FiltersInfo-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters-deskTitle{color:inherit}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-inputTitle{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-input{background-color:#f5f5f5;color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-ChosenFilter{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItemName,.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-link{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter.is-opened .consonant-LeftFilter-link{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItem:hover{background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Pagination-btn,.consonant-u-themeLight .consonant-CardsGrid .consonant-Pagination-itemBtn,.consonant-u-themeLight .consonant-CardsGrid .consonant-Pagination-summary{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner{background-color:#fff}@media only screen and (min-width:1200px){.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner:focus:after{border-color:#0d66d0}}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-header{background-color:#e1e1e1}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-banner{color:#fff;background-color:#0d66d0}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-badge{color:#6e6e6e;border-color:#8e8e8e;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-inner{background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header{background-color:#e1e1e1}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-label{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text{color:#6e6e6e}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-banner{color:#fff;background-color:#0d66d0}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-badge{color:#6e6e6e;border-color:#8e8e8e;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-header,.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-inner{background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-label{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text{color:#6e6e6e}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-banner{color:#fff;background-color:#0d66d0}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-badge{color:#6e6e6e;border-color:#8e8e8e;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.product{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.product .consonant-Card-inner{background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.product .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.product .consonant-Card-text{color:#6e6e6e}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.icon-card{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-header{filter:contrast(.5) saturate(1.5)}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-label,.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide{border-color:#e1e1e1;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner{background-color:#fff}@media only screen and (min-width:1200px){.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner:focus:after{border-color:#0d66d0}}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-title{color:#2c2c2c}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-text{color:#6e6e6e}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-label{color:#4b4b4b}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card{border-color:#b3b3b3;background-color:#fff}@media only screen and (min-width:1200px){.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:focus:after{border-color:#0d66d0}}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:before{border-color:#fff;box-shadow:1px 1px 0 0 #fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header{background-color:#e1e1e1}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-banner{color:#fff;background-color:#0d66d0}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-label{color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-title{color:#cacaca}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-badge{color:#6e6e6e;border-color:#8e8e8e;background-color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-label,.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title{color:#fff}.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-banner{color:#fff;background-color:#0d66d0}@media only screen and (min-width:1200px){.consonant-u-themeLight .consonant-CardsGrid .consonant-Card.half-height .consonant-Card:focus:after{border-color:#0d66d0}}.consonant-u-themeLight .consonant-CardsGrid .consonant-CardFooter--divider:last-child{border-color:#e1e1e1}.consonant-u-themeLight .consonant-BookmarkInfobit.is-active .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' stroke='%236e6e6e' fill='%236e6e6e' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}.consonant-u-themeLight .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' fill='%23fff' stroke='%236e6e6e' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}@media only screen and (min-width:1200px){.consonant-u-themeLight .consonant-BookmarkInfobit:focus{outline-color:#0d66d0}}.consonant-u-themeLight .consonant-Tooltip{color:#fff;background-color:#6e6e6e}.consonant-u-themeLight .consonant-Tooltip:after{background-color:#6e6e6e}.consonant-u-themeLight .consonant-BtnInfobit{border-color:#4b4b4b;background-color:#fff}.consonant-u-themeLight .consonant-BtnInfobit:not(.consonant-u-themeLight .consonant-BtnInfobit--cta) span{color:#4b4b4b}.consonant-u-themeLight .consonant-BtnInfobit:hover{border-color:#4b4b4b;background-color:#4b4b4b}.consonant-u-themeLight .consonant-BtnInfobit:hover:not(.consonant-u-themeLight .consonant-BtnInfobit--cta) span{color:#fff}.consonant-u-themeLight .consonant-BtnInfobit:active{border-color:#2c2c2c;background-color:#2c2c2c}.consonant-u-themeLight .consonant-BtnInfobit:active:not(.consonant-u-themeLight .consonant-BtnInfobit--cta) span{color:#fff}.consonant-u-themeLight .consonant-BtnInfobit:focus{outline-color:#0d66d0}.consonant-u-themeLight .consonant-BtnInfobit--cta{border-color:#1473e6;background-color:#1473e6}.consonant-u-themeLight .consonant-BtnInfobit--cta:hover{border-color:#0d66d0;background-color:#0d66d0}.consonant-u-themeLight .consonant-BtnInfobit--cta:active{border-color:#095aba;background-color:#095aba}.consonant-u-themeLight .consonant-DateIntervalInfobit,.consonant-u-themeLight .consonant-IconWithTextInfobit-text{color:#6e6e6e}.consonant-u-themeLight .consonant-LinkWithIcoInfobit:focus{outline-color:#0d66d0}.consonant-u-themeLight .consonant-LinkWithIcoInfobit span{color:#1473e6}.consonant-u-themeLight .consonant-LinkWithIcoInfobit:hover span{color:#0d66d0}.consonant-u-themeLight .consonant-LinkWithIcoInfobit:active span{color:#095aba}.consonant-u-themeLight .consonant-LinkInfobit{color:#3b63fb}.consonant-u-themeLight .consonant-LinkInfobit:hover{color:#0d66d0}.consonant-u-themeLight .consonant-LinkInfobit:active{color:#095aba}.consonant-u-themeLight .consonant-LinkInfobit:focus{outline-color:#0d66d0}.consonant-u-themeLight .consonant-PriceInfobit-price{color:#2c2c2c}.consonant-u-themeLight .consonant-PriceInfobit-term{color:#8e8e8e}.consonant-u-themeLight .consonant-ProgressInfobit-text{color:#6e6e6e}.consonant-u-themeLight .consonant-ProgressInfobit-el{background-color:#fff;border-color:#cacaca}.consonant-u-themeLight .consonant-RatingInfobit-stars:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:none}.st1{fill:%23cacaca}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st1' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeLight .consonant-RatingInfobit-stars:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:%230d66d0}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st0' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeLight .consonant-RatingInfobit-text{color:#8e8e8e}.consonant-u-themeLight .consonant-TextInfobit{color:#6e6e6e}.consonant-u-themeLight .consonant-LoadMore--overBg .consonant-u-themeLight .consonant-LoadMore-btn{color:#4b4b4b}.consonant-u-themeDark .consonant-CardsGrid .consonant-FiltersInfo-results,.consonant-u-themeDark .consonant-CardsGrid .consonant-FiltersInfo-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters-deskTitle{color:inherit}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-inputTitle{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-input{background-color:#323232;color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-ChosenFilter{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItemName,.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-link{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter.is-opened .consonant-LeftFilter-link{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItem:hover{background-color:#252525}.consonant-u-themeDark .consonant-CardsGrid .consonant-Pagination-btn,.consonant-u-themeDark .consonant-CardsGrid .consonant-Pagination-itemBtn,.consonant-u-themeDark .consonant-CardsGrid .consonant-Pagination-summary{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner{background-color:#323232}@media only screen and (min-width:1200px){.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner:focus:after{border-color:#4b9cf5}}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-header{background-color:#4a4a4a}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-banner{color:#323232;background-color:#4b9cf5}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-badge{color:#b9b9b9;border-color:#909090;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-inner{background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header{background-color:#4a4a4a}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-label{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text{color:#b9b9b9}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-banner{color:#323232;background-color:#4b9cf5}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-badge{color:#b9b9b9;border-color:#909090;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-header,.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-inner{background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-label{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text{color:#b9b9b9}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-banner{color:#323232;background-color:#4b9cf5}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-badge{color:#b9b9b9;border-color:#909090;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.product{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.product .consonant-Card-inner{background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.product .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.product .consonant-Card-text{color:#b9b9b9}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.icon-card{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-header{filter:contrast(.5) saturate(1.5)}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-label,.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide{border-color:#4a4a4a;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner{background-color:#323232}@media only screen and (min-width:1200px){.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner:focus:after{border-color:#4b9cf5}}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-title{color:#fff}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-text{color:#b9b9b9}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-label{color:#e3e3e3}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card{border-color:#6e6e6e;background-color:#323232}@media only screen and (min-width:1200px){.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:focus:after{border-color:#4b9cf5}}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:before{border-color:#323232;box-shadow:1px 1px 0 0 #323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header{background-color:#4a4a4a}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-banner{color:#323232;background-color:#4b9cf5}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-label{color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-title{color:#5a5a5a}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-badge{color:#b9b9b9;border-color:#909090;background-color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-label,.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title{color:#323232}.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-banner{color:#323232;background-color:#4b9cf5}@media only screen and (min-width:1200px){.consonant-u-themeDark .consonant-CardsGrid .consonant-Card.half-height .consonant-Card:focus:after{border-color:#4b9cf5}}.consonant-u-themeDark .consonant-CardsGrid .consonant-CardFooter--divider:last-child{border-color:#4a4a4a}.consonant-u-themeDark .consonant-BookmarkInfobit.is-active .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' stroke='%23b9b9b9' fill='%23b9b9b9' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}.consonant-u-themeDark .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' fill='%23323232' stroke='%23b9b9b9' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}@media only screen and (min-width:1200px){.consonant-u-themeDark .consonant-BookmarkInfobit:focus{outline-color:#4b9cf5}}.consonant-u-themeDark .consonant-Tooltip{color:#323232;background-color:#b9b9b9}.consonant-u-themeDark .consonant-Tooltip:after{background-color:#b9b9b9}.consonant-u-themeDark .consonant-BtnInfobit{border-color:#e3e3e3;background-color:#323232}.consonant-u-themeDark .consonant-BtnInfobit:not(.consonant-u-themeDark .consonant-BtnInfobit--cta) span{color:#e3e3e3}.consonant-u-themeDark .consonant-BtnInfobit:hover{border-color:#e3e3e3;background-color:#e3e3e3}.consonant-u-themeDark .consonant-BtnInfobit:hover:not(.consonant-u-themeDark .consonant-BtnInfobit--cta) span{color:#323232}.consonant-u-themeDark .consonant-BtnInfobit:active{border-color:#fff;background-color:#fff}.consonant-u-themeDark .consonant-BtnInfobit:active:not(.consonant-u-themeDark .consonant-BtnInfobit--cta) span{color:#323232}.consonant-u-themeDark .consonant-BtnInfobit:focus{outline-color:#4b9cf5}.consonant-u-themeDark .consonant-BtnInfobit--cta{border-color:#378ef0;background-color:#378ef0}.consonant-u-themeDark .consonant-BtnInfobit--cta:hover{border-color:#4b9cf5;background-color:#4b9cf5}.consonant-u-themeDark .consonant-BtnInfobit--cta:active{border-color:#5aa9fa;background-color:#5aa9fa}.consonant-u-themeDark .consonant-DateIntervalInfobit,.consonant-u-themeDark .consonant-IconWithTextInfobit-text{color:#b9b9b9}.consonant-u-themeDark .consonant-LinkWithIcoInfobit:focus{outline-color:#4b9cf5}.consonant-u-themeDark .consonant-LinkWithIcoInfobit span{color:#378ef0}.consonant-u-themeDark .consonant-LinkWithIcoInfobit:hover span{color:#4b9cf5}.consonant-u-themeDark .consonant-LinkWithIcoInfobit:active span{color:#5aa9fa}.consonant-u-themeDark .consonant-LinkInfobit{color:#5da3f4}.consonant-u-themeDark .consonant-LinkInfobit:hover{color:#4b9cf5}.consonant-u-themeDark .consonant-LinkInfobit:active{color:#5aa9fa}.consonant-u-themeDark .consonant-LinkInfobit:focus{outline-color:#4b9cf5}.consonant-u-themeDark .consonant-PriceInfobit-price{color:#fff}.consonant-u-themeDark .consonant-PriceInfobit-term{color:#909090}.consonant-u-themeDark .consonant-ProgressInfobit-text{color:#b9b9b9}.consonant-u-themeDark .consonant-ProgressInfobit-el{background-color:#323232;border-color:#5a5a5a}.consonant-u-themeDark .consonant-RatingInfobit-stars:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:none}.st1{fill:%235a5a5a}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st1' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeDark .consonant-RatingInfobit-stars:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:%234b9cf5}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st0' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeDark .consonant-RatingInfobit-text{color:#909090}.consonant-u-themeDark .consonant-TextInfobit{color:#b9b9b9}.consonant-u-themeDark .consonant-LoadMore--overBg .consonant-u-themeDark .consonant-LoadMore-btn{color:#e3e3e3}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-FiltersInfo-results,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-FiltersInfo-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters-deskTitle{color:inherit}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-inputTitle{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-Search-input{background-color:#1e1e1e;color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-ChosenFilter{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItemName,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-link{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter.is-opened .consonant-LeftFilter-link{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-LeftFilters .consonant-LeftFilter-itemsItem:hover{background-color:#080808}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Pagination-btn,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Pagination-itemBtn,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Pagination-summary{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner{background-color:#1e1e1e}@media only screen and (min-width:1200px){.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-inner:focus:after{border-color:#378ef0}}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-header{background-color:#393939}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-banner{color:#1e1e1e;background-color:#378ef0}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-badge{color:#a2a2a2;border-color:#7c7c7c;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-inner{background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header{background-color:#393939}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-label{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-banner{color:#1e1e1e;background-color:#378ef0}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-badge{color:#a2a2a2;border-color:#7c7c7c;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-header,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-inner{background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-label{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-banner{color:#1e1e1e;background-color:#378ef0}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.text-card .consonant-Card-badge{color:#a2a2a2;border-color:#7c7c7c;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.product{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.product .consonant-Card-inner{background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.product .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.product .consonant-Card-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.icon-card{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-header{filter:contrast(.5) saturate(1.5)}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-label,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide{border-color:#393939;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner{background-color:#1e1e1e}@media only screen and (min-width:1200px){.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-inner:focus:after{border-color:#378ef0}}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-title{color:#efefef}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-label{color:#c8c8c8}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card{border-color:#5c5c5c;background-color:#1e1e1e}@media only screen and (min-width:1200px){.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:focus:after{border-color:#378ef0}}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-inner:before{border-color:#1e1e1e;box-shadow:1px 1px 0 0 #1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header{background-color:#393939}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-banner{color:#1e1e1e;background-color:#378ef0}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-label{color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-title{color:#494949}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.full-card .consonant-Card-badge{color:#a2a2a2;border-color:#7c7c7c;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-label,.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title{color:#1e1e1e}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-banner{color:#1e1e1e;background-color:#378ef0}@media only screen and (min-width:1200px){.consonant-u-themeDarkest .consonant-CardsGrid .consonant-Card.half-height .consonant-Card:focus:after{border-color:#378ef0}}.consonant-u-themeDarkest .consonant-CardsGrid .consonant-CardFooter--divider:last-child{border-color:#393939}.consonant-u-themeDarkest .consonant-BookmarkInfobit.is-active .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' stroke='%23a2a2a2' fill='%23a2a2a2' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}.consonant-u-themeDarkest .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' fill='%231e1e1e' stroke='%23a2a2a2' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}@media only screen and (min-width:1200px){.consonant-u-themeDarkest .consonant-BookmarkInfobit:focus{outline-color:#378ef0}}.consonant-u-themeDarkest .consonant-Tooltip{color:#1e1e1e;background-color:#a2a2a2}.consonant-u-themeDarkest .consonant-Tooltip:after{background-color:#a2a2a2}.consonant-u-themeDarkest .consonant-BtnInfobit{border-color:#c8c8c8;background-color:#1e1e1e}.consonant-u-themeDarkest .consonant-BtnInfobit:not(.consonant-u-themeDarkest .consonant-BtnInfobit--cta) span{color:#c8c8c8}.consonant-u-themeDarkest .consonant-BtnInfobit:hover{border-color:#c8c8c8;background-color:#c8c8c8}.consonant-u-themeDarkest .consonant-BtnInfobit:hover:not(.consonant-u-themeDarkest .consonant-BtnInfobit--cta) span{color:#1e1e1e}.consonant-u-themeDarkest .consonant-BtnInfobit:active{border-color:#efefef;background-color:#efefef}.consonant-u-themeDarkest .consonant-BtnInfobit:active:not(.consonant-u-themeDarkest .consonant-BtnInfobit--cta) span{color:#1e1e1e}.consonant-u-themeDarkest .consonant-BtnInfobit:focus{outline-color:#378ef0}.consonant-u-themeDarkest .consonant-BtnInfobit--cta{border-color:#2680eb;background-color:#2680eb}.consonant-u-themeDarkest .consonant-BtnInfobit--cta:hover{border-color:#378ef0;background-color:#378ef0}.consonant-u-themeDarkest .consonant-BtnInfobit--cta:active{border-color:#4b9cf5;background-color:#4b9cf5}.consonant-u-themeDarkest .consonant-DateIntervalInfobit,.consonant-u-themeDarkest .consonant-IconWithTextInfobit-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-LinkWithIcoInfobit:focus{outline-color:#378ef0}.consonant-u-themeDarkest .consonant-LinkWithIcoInfobit span{color:#2680eb}.consonant-u-themeDarkest .consonant-LinkWithIcoInfobit:hover span{color:#378ef0}.consonant-u-themeDarkest .consonant-LinkWithIcoInfobit:active span{color:#4b9cf5}.consonant-u-themeDarkest .consonant-LinkInfobit{color:#5da3f4}.consonant-u-themeDarkest .consonant-LinkInfobit:hover{color:#378ef0}.consonant-u-themeDarkest .consonant-LinkInfobit:active{color:#4b9cf5}.consonant-u-themeDarkest .consonant-LinkInfobit:focus{outline-color:#378ef0}.consonant-u-themeDarkest .consonant-PriceInfobit-price{color:#efefef}.consonant-u-themeDarkest .consonant-PriceInfobit-term{color:#7c7c7c}.consonant-u-themeDarkest .consonant-ProgressInfobit-text{color:#a2a2a2}.consonant-u-themeDarkest .consonant-ProgressInfobit-el{background-color:#1e1e1e;border-color:#494949}.consonant-u-themeDarkest .consonant-RatingInfobit-stars:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:none}.st1{fill:%23494949}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st1' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeDarkest .consonant-RatingInfobit-stars:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:%23378ef0}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st0' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E")}.consonant-u-themeDarkest .consonant-RatingInfobit-text{color:#7c7c7c}.consonant-u-themeDarkest .consonant-TextInfobit{color:#a2a2a2}.consonant-u-themeDarkest .consonant-LoadMore--overBg .consonant-u-themeDarkest .consonant-LoadMore-btn{color:#c8c8c8}[dir=rtl] .consonant-FiltersInfo>.consonant-Select{margin-left:0;margin-right:auto}[dir=rtl] .consonant-FiltersInfo-btn--withFilters{padding-left:0}[dir=rtl] .consonant-FiltersInfo-btnText{padding-left:7px;text-align:right}[dir=rtl] .consonant-FiltersInfo-btnSelected{padding-right:8px;padding-left:7px;border-left:0;border-right:1px solid #505050}[dir=rtl] .consonant-FiltersInfo-results{margin-left:0;margin-right:auto;padding-left:0;text-align:right}[dir=rtl] .consonant-LeftFilters-mobBack{margin-left:13px;margin-right:0;transform:scale(-1)}[dir=rtl] .consonant-LeftFilters-mobileFooter{flex-direction:row-reverse}[dir=rtl] .consonant-LeftFilters-mobileFooterTotalResQty{margin-right:auto}[dir=rtl] .consonant-LeftFilters-clearLink,[dir=rtl] .consonant-LeftFilters-deskTitle,[dir=rtl] .consonant-LeftFilters-mobileFooterTotalResQty,[dir=rtl] .consonant-LeftFilters-mobTitle span{text-align:right}[dir=rtl] .consonant-LeftFilter:after{left:16px;right:auto;transform:scale(-1) rotate(-135deg)}[dir=rtl] .consonant-LeftFilter-link{padding-left:36px;padding-right:6px;text-align:right}[dir=rtl] .consonant-LeftFilter-footerClearBtn,[dir=rtl] .consonant-LeftFilter-footerResQty,[dir=rtl] .consonant-LeftFilter-itemsItemName{text-align:right}[dir=rtl] .consonant-LeftFilter-itemsItemCheckmark{margin-left:10px;margin-right:0}[dir=rtl] .consonant-LeftFilter-selectedItemsQty{text-align:right;padding-left:18px;padding-right:0}[dir=rtl] .consonant-LeftFilter-selectedItemsQty:after{left:0;right:auto}[dir=rtl] .consonant-LeftFilter-footer{flex-direction:row-reverse}[dir=rtl] .consonant-LeftFilter-footerClearBtn{margin-left:auto}[dir=rtl] .consonant-LeftFilter.is-opened .consonant-LeftFilter-name{padding-left:0;padding-right:20px}[dir=rtl] .consonant-TopFilters-filters{margin-right:0;margin-left:17px}[dir=rtl] .consonant-TopFilters-clearBtnWrapper{left:0;right:auto;margin-left:0;margin-right:0}[dir=rtl] .consonant-TopFilters-clearBtnWrapper:empty{margin-left:0;margin-right:-16px}[dir=rtl] .consonant-TopFilters-clearBtnWrapper:after{right:auto;left:100%;transform:scale(-1)}[dir=rtl] .consonant-TopFilters-clearBtn{text-align:right}[dir=rtl] .consonant-TopFilters-selectWrapper{margin-right:0;margin-left:8px}[dir=rtl] .consonant-TopFilters-results{margin-left:0;margin-right:auto;padding-left:0}[dir=rtl] .consonant-TopFilter{margin-right:0;margin-left:8px}[dir=rtl] .consonant-TopFilter:last-of-type{margin-left:0}[dir=rtl] .consonant-TopFilter-itemCheckmark{margin-right:0;margin-left:10px}[dir=rtl] .consonant-TopFilter-footerClearBtn,[dir=rtl] .consonant-TopFilter-footerResQty,[dir=rtl] .consonant-TopFilter-itemsItemName,[dir=rtl] .consonant-TopFilter-link{text-align:right}[dir=rtl] .consonant-TopFilter-selctedItemsQty{margin-right:9px;margin-left:0;text-align:right}[dir=rtl] .consonant-TopFilter-selctedItemsQty:after{left:auto;right:0}[dir=rtl] .consonant-TopFilter-footerResQty{margin-right:0;margin-left:auto}[dir=rtl] .consonant-TopFilter-footerBtn{margin-left:0;margin-right:0}[dir=rtl] .consonant-TopFilter-footerBtn:only-child{margin-right:auto}[dir=rtl] .consonant-TopFilter-footerClearBtn{margin-right:auto;margin-left:17px}[dir=rtl] .consonant-TopFilter.is-selected:not(.is-opened) .consonant-TopFilter-link{padding-left:0;padding-right:12px}[dir=rtl] .consonant-TopFilter.is-opened .consonant-TopFilter-link{padding-right:20px;padding-left:12px;text-align:right}[dir=rtl] .consonant-Select:after{right:auto;left:12px}[dir=rtl] .consonant-Select-btn{padding-left:34px;padding-right:12px;text-align:right}[dir=rtl] .consonant-Select-options{left:0;right:auto}[dir=rtl] .consonant-Select-options--left{right:0;left:auto}[dir=rtl] .consonant-Select-option{text-align:right;padding-left:30px;padding-right:20px}[dir=rtl] .consonant-Select-option.is-selected{text-align:right}[dir=rtl] .consonant-Select-option.is-selected:after{right:auto;left:12px}[dir=rtl] .consonant-Search input{text-align:right}[dir=rtl] .consonant-Search input:focus{padding-right:8px}[dir=rtl] .consonant-Search-inputTitle{text-align:right}[dir=rtl] .consonant-Search-inputClear{display:none}[dir=rtl] .consonant-DoubleWideCard .consonant-DoubleWideCard-label,[dir=rtl] .consonant-DoubleWideCard .consonant-DoubleWideCard-text,[dir=rtl] .consonant-DoubleWideCard .consonant-DoubleWideCard-title,[dir=rtl] .consonant-FullCard .consonant-FullCard-badge,[dir=rtl] .consonant-FullCard .consonant-FullCard-banner,[dir=rtl] .consonant-FullCard .consonant-FullCard-label,[dir=rtl] .consonant-FullCard .consonant-FullCard-title,[dir=rtl] .consonant-HalfHeightCard .consonant-HalfHeightCard-label,[dir=rtl] .consonant-HalfHeightCard .consonant-HalfHeightCard-title,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-badge,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-banner,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-label,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-text,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-title,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-badge,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-banner,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-label,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-title{text-align:right}[dir=rtl] .consonant-FullCard .consonant-FullCard-videoIco,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-videoIco,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-videoIco{transform:rotate(180deg)}[dir=rtl] .consonant-FullCard .consonant-FullCard-videoIco:hover,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-videoIco:hover,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-videoIco:hover{transform:rotate(180deg) scale(1.1)}[dir=rtl] .consonant-FullCard .consonant-FullCard-banner,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-banner,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-banner{display:flex;align-items:center;justify-content:flex-start}[dir=rtl] .consonant-FullCard .consonant-FullCard-bannerIconWrapper,[dir=rtl] .consonant-OneHalfCard .consonant-OneHalfCard-bannerIconWrapper,[dir=rtl] .consonant-ThreeFourthCard .consonant-ThreeFourthCard-bannerIconWrapper{margin-left:4px;margin-right:0}[dir=rtl] .consonant-CardFooter-cell--left>:first-child,[dir=rtl] .consonant-CardFooter-cell--left>:last-child{margin-left:16px}[dir=rtl] .consonant-CardFooter-cell--left:last-child>:last-child,[dir=rtl] .consonant-CardFooter-cell--right:last-child>:last-child{margin-left:0}[dir=rtl] .consonant-DateIntervalInfobit,[dir=rtl] .consonant-IconWithTextInfobit-text,[dir=rtl] .consonant-LinkInfobit,[dir=rtl] .consonant-LinkWithIcoInfobit span,[dir=rtl] .consonant-PriceInfobit-price,[dir=rtl] .consonant-PriceInfobit-term,[dir=rtl] .consonant-ProgressInfobit-text,[dir=rtl] .consonant-RatingInfobit-text,[dir=rtl] .consonant-TextInfobit{text-align:right}[dir=rtl] .consonant-IconWithTextInfobit img{margin-right:0;margin-left:4px}[dir=rtl] .consonant img+.consonant-TextInfobit{margin-right:-12px}[dir=rtl] .consonant-RatingInfobit-text{margin-left:0;margin-right:7px}[dir=rtl] .consonant-ProgressInfobit-text:not(:last-child){padding-right:0;padding-left:8px}[dir=rtl] .consonant-BtnInfobit-ico{width:auto;height:auto;max-width:24px;max-height:24px;margin-left:8px;overflow:hidden;object-fit:cover}[dir=rtl] .consonant-BtnInfobit-ico--last{margin-left:0;margin-right:8px}[dir=rtl] .consonant-Bookmarks-title{padding-left:55px;padding-right:0;text-align:right}[dir=rtl] .consonant-Bookmarks-itemBadge{left:16px;right:auto}[dir=rtl] .consonant-Bookmarks-icoWrapper .consonant-Bookmarks-ico{margin-left:6px;margin-right:0}[dir=rtl] .consonant-Pagination-btn,[dir=rtl] .consonant-Pagination-summary{text-align:right}[dir=rtl] .consonant-CardCollection-inner{margin-left:-32px;margin-right:0}[dir=rtl] .consonant-CardCollection-inner>div{margin-left:32px;margin-right:0}@media only screen and (min-width:768px){[dir=rtl] .consonant-TopFilters-filtersWrapper{margin-right:0;margin-left:16px}[dir=rtl] .consonant-TopFilters-selectWrapper{margin-left:0;margin-right:8px}[dir=rtl] .consonant-TopFilters-title{text-align:right;margin-left:12px;margin-right:0}[dir=rtl] .consonant-TopFilters-filters--truncated .consonant-TopFilters-moreBtn{margin-left:23px;margin-right:0}[dir=rtl] .consonant-TopFilters-results{text-align:right}[dir=rtl] .consonant-TopFilters-results:after{right:auto;left:0}[dir=rtl] .consonant-TopFilters-results strong{text-align:right}[dir=rtl] .consonant-TopFilters-searchIcoWrapper{margin-left:0;margin-right:auto}[dir=rtl] .consonant-TopFilters-searchIcoWrapper>div{left:0;right:auto}[dir=rtl] .consonant-TopFilters-inner>:not([dir=rtl] .consonant-TopFilters-filtersWrapper):first-child{margin-left:0;margin-right:auto}[dir=rtl] .consonant-TopFilter.is-opened{margin-left:8px;margin-right:0}[dir=rtl] .consonant-TopFilter.is-opened:last-child{margin-left:0}[dir=rtl] .consonant-TopFilter.is-opened .consonant-TopFilter-link{margin-right:0;padding-right:17px}}@media only screen and (min-width:1200px){[dir=rtl] .consonant-LeftFilters{margin-right:0;margin-left:32px}[dir=rtl] .consonant-TopFilters-results{margin-left:0;margin-right:auto}[dir=rtl] .consonant-TopFilters-selectWrapper>div:first-child:after{right:auto;left:12px}[dir=rtl] .consonant-FiltersInfo-wrapper{padding-right:0;padding-left:32px}[dir=rtl] .consonant-FiltersInfo-wrapper:after{right:auto;left:16px}[dir=rtl] .consonant-FiltersInfo-search+.consonant-FiltersInfo-wrapper:last-child{padding-left:0}[dir=rtl] .consonant-FiltersInfo-results{text-align:left}[dir=rtl] .consonant-LeftFilter:after{transform:scale(-1) rotate(135deg)}[dir=rtl] .consonant-LeftFilter-link{padding-right:6px}[dir=rtl] .consonant-LeftFilter-itemBadge{left:32px;right:auto}[dir=rtl] .consonant-LeftFilter.is-opened .consonant-LeftFilter-name{padding-right:0}[dir=rtl] .consonant-LeftFilter.is-opened .consonant-LeftFilter-link{padding-right:8px}[dir=rtl] .consonant-TopFilter .consonant-TopFilter-absoluteWrapper{left:auto;right:0}[dir=rtl] .consonant-ChosenFilter{margin-right:0;margin-left:7px;padding-left:17px;padding-right:8px;text-align:right}[dir=rtl] .consonant-ChosenFilter:after,[dir=rtl] .consonant-ChosenFilter:before{left:8px;right:auto}[dir=rtl] .consonant-Bookmarks .consonant-Bookmarks-itemBadge{left:30px}[dir=rtl] .consonant-Select-btn{padding-right:0}}.consonant-CardsGrid{display:grid!important;justify-content:center;width:100%;max-width:100%;grid-template-columns:repeat(auto-fit,minmax(300px,max-content))}.consonant-CardsGrid.card-hover-grow .consonant-Card.one-half{transition:all .2s ease-in-out}.consonant-CardsGrid.card-hover-grow .consonant-Card.one-half:hover{transform:scale(1.03);transition:all .2s ease-in-out}.consonant-CardsGrid.card-hover-grow .consonant-Card.one-half [class*=-header]:after{display:none!important}.consonant-CardsGrid--with1xGutter{gap:8px;padding-bottom:8px}.consonant-CardsGrid--with2xGutter{gap:16px;padding-bottom:16px}.consonant-CardsGrid--with3xGutter{gap:24px;padding-bottom:24px}.consonant-CardsGrid--with4xGutter{gap:32px;padding-bottom:32px}.consonant-CardsGrid--2up{grid-template-columns:repeat(auto-fit,minmax(300px,max-content))}.consonant-CardsGrid--2up .consonant-Card{max-width:584px}.consonant-CardsGrid--2up .consonant-Card-content{width:100%;max-width:100%}.consonant-CardsGrid--3up .consonant-Card{width:378px;max-width:100%}.consonant-CardsGrid--3up .consonant-Card-content{width:100%;max-width:100%}.consonant-CardsGrid--4up{grid-template-columns:repeat(auto-fit,minmax(225px,max-content))}.consonant-CardsGrid--4up .consonant-Card{min-width:225px;width:276px;max-width:100%;height:384px}.consonant-CardsGrid--4up .consonant-Card-content{width:100%;max-width:100%;padding:20px}.consonant-CardsGrid--5up{grid-template-columns:repeat(auto-fit,minmax(190px,max-content))}.consonant-CardsGrid--5up .consonant-Card{min-width:190px;max-width:228px;height:344px}.consonant-CardsGrid--5up .consonant-Card-content{width:100%;max-width:100%;padding:20px}.consonant-CardsGrid--5up .one-half.consonant-Card{height:auto}.consonant-CardsGrid--5up .one-half.consonant-Card .consonant-Card-header{min-height:172px;max-height:172px}@media only screen and (min-width:680px){.consonant-CardsGrid--2up{grid-template-columns:repeat(auto-fit,minmax(500px,max-content))}}.consonant-Wrapper{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;position:relative;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;margin-top:1px}.consonant-Wrapper *{box-sizing:border-box}.consonant-Wrapper-inner>:last-of-type{display:block;position:relative;flex-grow:1}.consonant-Wrapper-collection{background-color:transparent}.consonant-Wrapper-collection.is-loading{min-height:536px}.consonant-Wrapper-collection:first-child .consonant-FiltersInfo:empty{display:none}.consonant-Wrapper--1200MaxWidth .consonant-Wrapper-inner{width:83.3%;max-width:1200px;margin-left:auto;margin-right:auto}.consonant-Wrapper--1600MaxWidth .consonant-Wrapper-inner{width:83.3%;max-width:1600px;margin-left:auto;margin-right:auto}.consonant-Wrapper--83PercentContainier .consonant-Wrapper-inner{width:83.3%;margin-left:auto;margin-right:auto}.consonant-Wrapper--32MarginContainer .consonant-Wrapper-inner{max-width:unset;margin-left:32px;margin-right:32px}@media only screen and (min-width:1200px){.consonant-Wrapper--withLeftFilter .consonant-Wrapper-inner{display:grid;grid-template-columns:204px auto;gap:32px}.consonant-Wrapper-collection{overflow:visible}}@media only screen and (min-width:1440px){.consonant-Wrapper-collection{margin-bottom:8px}}.consonant-FiltersInfo{display:flex;width:100%;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-left:auto;margin-right:auto;box-sizing:border-box;padding:0 0 16px;top:0;left:0;background-color:transparent}.consonant-FiltersInfo-search{width:100%;max-width:100%}.consonant-FiltersInfo-btnWrapper{max-width:100%}.consonant-FiltersInfo-btn{display:inline-flex;align-items:center;min-width:89px;max-width:100%;margin-bottom:10px;padding:0 0 0 11px;border:1px solid #505050;border-radius:5px;overflow:hidden;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.875rem;font-weight:700;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;background-color:#fff;outline:0;user-select:none}.consonant-FiltersInfo-btn:focus{border-color:#1492e6}.consonant-FiltersInfo-btnSelected{display:block;max-width:40%;padding-left:8px;padding-right:7px;border-left:1px solid #505050;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-FiltersInfo-btn--withFilters{background-color:#f4f4f4;color:#323232}.consonant-FiltersInfo-btnIco{display:block;min-width:18px;width:18px;height:18px;margin-right:8px;background:transparent url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2Ljc1IDMuMDAwMDZINy45NUM3LjgzNTI0IDIuNDM0OTIgNy41Mjg2NCAxLjkyNjgzIDcuMDgyMTMgMS41NjE4OEM2LjYzNTYyIDEuMTk2OTIgNi4wNzY2OCAwLjk5NzU1OSA1LjUgMC45OTc1NTlDNC45MjMzMiAwLjk5NzU1OSA0LjM2NDM4IDEuMTk2OTIgMy45MTc4NyAxLjU2MTg4QzMuNDcxMzYgMS45MjY4MyAzLjE2NDc2IDIuNDM0OTIgMy4wNSAzLjAwMDA2SDEuMjVDMS4xODM3IDMuMDAwMDYgMS4xMjAxMSAzLjAyNjQgMS4wNzMyMiAzLjA3MzI5QzEuMDI2MzQgMy4xMjAxNyAxIDMuMTgzNzYgMSAzLjI1MDA2VjMuNzUwMDZDMSAzLjgxNjM3IDEuMDI2MzQgMy44Nzk5NiAxLjA3MzIyIDMuOTI2ODRDMS4xMjAxMSAzLjk3MzczIDEuMTgzNyA0LjAwMDA2IDEuMjUgNC4wMDAwNkgzLjA1QzMuMTY0NzYgNC41NjUyMSAzLjQ3MTM2IDUuMDczMyAzLjkxNzg3IDUuNDM4MjVDNC4zNjQzOCA1LjgwMzIxIDQuOTIzMzIgNi4wMDI1NyA1LjUgNi4wMDI1N0M2LjA3NjY4IDYuMDAyNTcgNi42MzU2MiA1LjgwMzIxIDcuMDgyMTMgNS40MzgyNUM3LjUyODY0IDUuMDczMyA3LjgzNTI0IDQuNTY1MjEgNy45NSA0LjAwMDA2SDE2Ljc1QzE2LjgxNjMgNC4wMDAwNiAxNi44Nzk5IDMuOTczNzMgMTYuOTI2OCAzLjkyNjg0QzE2Ljk3MzcgMy44Nzk5NiAxNyAzLjgxNjM3IDE3IDMuNzUwMDZWMy4yNTAwNkMxNyAzLjE4Mzc2IDE2Ljk3MzcgMy4xMjAxNyAxNi45MjY4IDMuMDczMjlDMTYuODc5OSAzLjAyNjQgMTYuODE2MyAzLjAwMDA2IDE2Ljc1IDMuMDAwMDZaTTUuNSA1LjAwMDA2QzUuMjAzMzMgNS4wMDAwNiA0LjkxMzMyIDQuOTEyMDkgNC42NjY2NCA0Ljc0NzI3QzQuNDE5OTcgNC41ODI0NSA0LjIyNzcxIDQuMzQ4MTggNC4xMTQxOCA0LjA3NDA5QzQuMDAwNjUgMy44IDMuOTcwOTQgMy40OTg0IDQuMDI4ODIgMy4yMDc0M0M0LjA4NjcgMi45MTY0NiA0LjIyOTU2IDIuNjQ5MTggNC40MzkzNCAyLjQzOTRDNC42NDkxMiAyLjIyOTYzIDQuOTE2MzkgMi4wODY3NiA1LjIwNzM2IDIuMDI4ODlDNS40OTgzNCAxLjk3MTAxIDUuNzk5OTQgMi4wMDA3MSA2LjA3NDAzIDIuMTE0MjVDNi4zNDgxMSAyLjIyNzc4IDYuNTgyMzggMi40MjAwNCA2Ljc0NzIgMi42NjY3MUM2LjkxMjAzIDIuOTEzMzggNyAzLjIwMzM5IDcgMy41MDAwNkM3IDMuODk3ODkgNi44NDE5NiA0LjI3OTQyIDYuNTYwNjYgNC41NjA3M0M2LjI3OTM2IDQuODQyMDMgNS44OTc4MiA1LjAwMDA2IDUuNSA1LjAwMDA2WiIgZmlsbD0iIzUwNTA1MCIvPgo8cGF0aCBkPSJNMTYuNzUgMTMuMDAwMUg5Ljk1QzkuODM1MjQgMTIuNDM0OSA5LjUyODY0IDExLjkyNjggOS4wODIxMyAxMS41NjE5QzguNjM1NjIgMTEuMTk2OSA4LjA3NjY4IDEwLjk5NzYgNy41IDEwLjk5NzZDNi45MjMzMiAxMC45OTc2IDYuMzY0MzggMTEuMTk2OSA1LjkxNzg3IDExLjU2MTlDNS40NzEzNiAxMS45MjY4IDUuMTY0NzYgMTIuNDM0OSA1LjA1IDEzLjAwMDFIMS4yNUMxLjE4MzcgMTMuMDAwMSAxLjEyMDExIDEzLjAyNjQgMS4wNzMyMiAxMy4wNzMzQzEuMDI2MzQgMTMuMTIwMiAxIDEzLjE4MzggMSAxMy4yNTAxVjEzLjc1MDFDMSAxMy44MTY0IDEuMDI2MzQgMTMuODggMS4wNzMyMiAxMy45MjY4QzEuMTIwMTEgMTMuOTczNyAxLjE4MzcgMTQuMDAwMSAxLjI1IDE0LjAwMDFINS4wNUM1LjE2NDc2IDE0LjU2NTIgNS40NzEzNiAxNS4wNzMzIDUuOTE3ODcgMTUuNDM4M0M2LjM2NDM4IDE1LjgwMzIgNi45MjMzMiAxNi4wMDI2IDcuNSAxNi4wMDI2QzguMDc2NjggMTYuMDAyNiA4LjYzNTYyIDE1LjgwMzIgOS4wODIxMyAxNS40MzgzQzkuNTI4NjQgMTUuMDczMyA5LjgzNTI0IDE0LjU2NTIgOS45NSAxNC4wMDAxSDE2Ljc1QzE2LjgxNjMgMTQuMDAwMSAxNi44Nzk5IDEzLjk3MzcgMTYuOTI2OCAxMy45MjY4QzE2Ljk3MzcgMTMuODggMTcgMTMuODE2NCAxNyAxMy43NTAxVjEzLjI1MDFDMTcgMTMuMTgzOCAxNi45NzM3IDEzLjEyMDIgMTYuOTI2OCAxMy4wNzMzQzE2Ljg3OTkgMTMuMDI2NCAxNi44MTYzIDEzLjAwMDEgMTYuNzUgMTMuMDAwMVpNNy41IDE1LjAwMDFDNy4yMDMzMyAxNS4wMDAxIDYuOTEzMzIgMTQuOTEyMSA2LjY2NjY0IDE0Ljc0NzNDNi40MTk5NyAxNC41ODI0IDYuMjI3NzEgMTQuMzQ4MiA2LjExNDE4IDE0LjA3NDFDNi4wMDA2NSAxMy44IDUuOTcwOTQgMTMuNDk4NCA2LjAyODgyIDEzLjIwNzRDNi4wODY3IDEyLjkxNjUgNi4yMjk1NiAxMi42NDkyIDYuNDM5MzQgMTIuNDM5NEM2LjY0OTEyIDEyLjIyOTYgNi45MTYzOSAxMi4wODY4IDcuMjA3MzYgMTIuMDI4OUM3LjQ5ODM0IDExLjk3MSA3Ljc5OTk0IDEyLjAwMDcgOC4wNzQwMyAxMi4xMTQyQzguMzQ4MTEgMTIuMjI3OCA4LjU4MjM4IDEyLjQyIDguNzQ3MiAxMi42NjY3QzguOTEyMDMgMTIuOTEzNCA5IDEzLjIwMzQgOSAxMy41MDAxQzkgMTMuODk3OSA4Ljg0MTk2IDE0LjI3OTQgOC41NjA2NiAxNC41NjA3QzguMjc5MzYgMTQuODQyIDcuODk3ODIgMTUuMDAwMSA3LjUgMTUuMDAwMVoiIGZpbGw9IiM1MDUwNTAiLz4KPHBhdGggZD0iTTEgOC4yNTAwNlY4Ljc1MDA2QzEgOC44MTYzNyAxLjAyNjM0IDguODc5OTYgMS4wNzMyMiA4LjkyNjg0QzEuMTIwMTEgOC45NzM3MyAxLjE4MzcgOS4wMDAwNiAxLjI1IDkuMDAwMDZIMTAuMDVDMTAuMTY0OCA5LjU2NTIxIDEwLjQ3MTQgMTAuMDczMyAxMC45MTc5IDEwLjQzODNDMTEuMzY0NCAxMC44MDMyIDExLjkyMzMgMTEuMDAyNiAxMi41IDExLjAwMjZDMTMuMDc2NyAxMS4wMDI2IDEzLjYzNTYgMTAuODAzMiAxNC4wODIxIDEwLjQzODNDMTQuNTI4NiAxMC4wNzMzIDE0LjgzNTIgOS41NjUyMSAxNC45NSA5LjAwMDA2SDE2Ljc1QzE2LjgxNjMgOS4wMDAwNiAxNi44Nzk5IDguOTczNzMgMTYuOTI2OCA4LjkyNjg0QzE2Ljk3MzcgOC44Nzk5NiAxNyA4LjgxNjM3IDE3IDguNzUwMDZWOC4yNTAwNkMxNyA4LjE4Mzc2IDE2Ljk3MzcgOC4xMjAxNyAxNi45MjY4IDguMDczMjlDMTYuODc5OSA4LjAyNjQgMTYuODE2MyA4LjAwMDA2IDE2Ljc1IDguMDAwMDZIMTQuOTVDMTQuODM1MiA3LjQzNDkyIDE0LjUyODYgNi45MjY4MyAxNC4wODIxIDYuNTYxODhDMTMuNjM1NiA2LjE5NjkyIDEzLjA3NjcgNS45OTc1NiAxMi41IDUuOTk3NTZDMTEuOTIzMyA1Ljk5NzU2IDExLjM2NDQgNi4xOTY5MiAxMC45MTc5IDYuNTYxODhDMTAuNDcxNCA2LjkyNjgzIDEwLjE2NDggNy40MzQ5MiAxMC4wNSA4LjAwMDA2SDEuMjVDMS4xODM3IDguMDAwMDYgMS4xMjAxMSA4LjAyNjQgMS4wNzMyMiA4LjA3MzI5QzEuMDI2MzQgOC4xMjAxNyAxIDguMTgzNzYgMSA4LjI1MDA2Wk0xMSA4LjUwMDA2QzExIDguMjAzMzkgMTEuMDg4IDcuOTEzMzggMTEuMjUyOCA3LjY2NjcxQzExLjQxNzYgNy40MjAwNCAxMS42NTE5IDcuMjI3NzggMTEuOTI2IDcuMTE0MjVDMTIuMjAwMSA3LjAwMDcxIDEyLjUwMTcgNi45NzEwMSAxMi43OTI2IDcuMDI4ODlDMTMuMDgzNiA3LjA4Njc2IDEzLjM1MDkgNy4yMjk2MyAxMy41NjA3IDcuNDM5NEMxMy43NzA0IDcuNjQ5MTggMTMuOTEzMyA3LjkxNjQ2IDEzLjk3MTIgOC4yMDc0M0MxNC4wMjkxIDguNDk4NCAxMy45OTk0IDguOCAxMy44ODU4IDkuMDc0MDlDMTMuNzcyMyA5LjM0ODE4IDEzLjU4IDkuNTgyNDUgMTMuMzMzNCA5Ljc0NzI3QzEzLjA4NjcgOS45MTIwOSAxMi43OTY3IDEwLjAwMDEgMTIuNSAxMC4wMDAxQzEyLjEwMjIgMTAuMDAwMSAxMS43MjA2IDkuODQyMDMgMTEuNDM5MyA5LjU2MDczQzExLjE1OCA5LjI3OTQyIDExIDguODk3ODkgMTEgOC41MDAwNloiIGZpbGw9IiM1MDUwNTAiLz4KPC9zdmc+Cg==") no-repeat 0 0}.consonant-FiltersInfo-btnText{display:block;max-width:100%;white-space:nowrap;text-overflow:ellipsis;padding-right:7px;overflow:hidden}.consonant-FiltersInfo-wrapper{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;width:100%;padding-top:14px}.consonant-FiltersInfo-wrapper:first-child{padding-top:0}.consonant-FiltersInfo-title{max-width:540px;margin:0;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#2c2c2c;text-align:left}.consonant-FiltersInfo-results,.consonant-FiltersInfo-title{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-style:normal;word-break:break-word}.consonant-FiltersInfo-results{display:block;margin-left:auto;padding-left:12px;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;text-align:right}.consonant-FiltersInfo-results strong{font-weight:700}.consonant-FiltersInfo--withLightText .consonant-FiltersInfo-results,.consonant-FiltersInfo--withLightText .consonant-FiltersInfo-title{color:#eaeaea}.consonant-FiltersInfo>.consonant-Select{margin-left:auto}@media only screen and (min-width:1200px){.consonant-FiltersInfo{flex-wrap:nowrap;align-items:stretch;margin-left:auto;margin-right:auto;padding-bottom:28px}.consonant-FiltersInfo-wrapper{order:-1;padding:0 32px 0 0;flex-wrap:nowrap;align-items:center}.consonant-FiltersInfo-wrapper:after{content:"";position:absolute;width:1px;background-color:#e1e1e1;top:0;bottom:0;right:16px;margin:auto}.consonant-FiltersInfo-wrapper--noLine:after,.consonant-FiltersInfo-wrapper:only-child:after{display:none}.consonant-FiltersInfo-search+.consonant-FiltersInfo-wrapper:last-child{padding-right:0}.consonant-FiltersInfo-search+.consonant-FiltersInfo-wrapper:last-child:after{display:none}.consonant-FiltersInfo-results{min-width:15%;max-width:25%}.consonant-FiltersInfo-btn,.consonant-FiltersInfo-search{display:none}}@media only screen and (min-width:1440px){.consonant-FiltersInfo-title{max-width:720px}}div:not(:only-child)>.consonant-FiltersInfo .consonant-FiltersInfo-wrapper:only-child{padding-top:6px}.consonant-Search{position:relative;padding-bottom:12px}.consonant-Search label{display:flex;flex-wrap:wrap;max-width:100%;cursor:pointer;word-break:break-word}.consonant-Search-inputTitle{display:none;margin:0 0 5px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:.875rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;cursor:pointer}.consonant-Search-inputWrapper{position:relative;display:block;width:100%}.consonant-Search-inputWrapper:after{content:"";width:15px;height:15px;position:absolute;top:0;bottom:0;left:10px;margin:auto;background:transparent url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzLjkyIDEyLjY3NUwxMC41ODYgOS4zNDIwMUMxMS4zOTAyIDguMjE5NTEgMTEuNzQyNyA2LjgzNTYgMTEuNTczNSA1LjQ2NTE3QzExLjQwNDMgNC4wOTQ3NSAxMC43MjU5IDIuODM4MDkgOS42NzI5MyAxLjk0NDgzQzguNjE5OTUgMS4wNTE1NiA3LjI2OTUxIDAuNTg3MDQ2IDUuODg5ODQgMC42NDM1NThDNC41MTAxNyAwLjcwMDA3MSAzLjIwMjI0IDEuMjczNDcgMi4yMjU4NSAyLjI0OTg2QzEuMjQ5NDYgMy4yMjYyNSAwLjY3NjA1MyA0LjUzNDE5IDAuNjE5NTQxIDUuOTEzODZDMC41NjMwMjkgNy4yOTM1MiAxLjAyNzU0IDguNjQzOTcgMS45MjA4MSA5LjY5Njk0QzIuODE0MDcgMTAuNzQ5OSA0LjA3MDczIDExLjQyODQgNS40NDExNiAxMS41OTc1QzYuODExNTggMTEuNzY2NyA4LjE5NTQ5IDExLjQxNDIgOS4zMTggMTAuNjFMMTIuNjUxIDEzLjk0M0MxMi44MjMyIDE0LjA5MDUgMTMuMDQ0NiAxNC4xNjc1IDEzLjI3MTEgMTQuMTU4OEMxMy40OTc3IDE0LjE1IDEzLjcxMjUgMTQuMDU2MSAxMy44NzI4IDEzLjg5NThDMTQuMDMzMSAxMy43MzU1IDE0LjEyNyAxMy41MjA3IDE0LjEzNTcgMTMuMjk0MkMxNC4xNDQ1IDEzLjA2NzcgMTQuMDY3NCAxMi44NDYyIDEzLjkyIDEyLjY3NFYxMi42NzVaTTIuMjY2IDYuMTUwMDFDMi4yNjYgNS4zODY1OCAyLjQ5MjM4IDQuNjQwMjggMi45MTY1MiA0LjAwNTUxQzMuMzQwNjYgMy4zNzA3NCAzLjk0MzUxIDIuODc1OTkgNC42NDg4NCAyLjU4Mzg0QzUuMzU0MTYgMi4yOTE2OCA2LjEzMDI4IDIuMjE1MjQgNi44NzkwNCAyLjM2NDE4QzcuNjI3ODEgMi41MTMxMiA4LjMxNTYgMi44ODA3NSA4Ljg1NTQzIDMuNDIwNThDOS4zOTUyNiAzLjk2MDQxIDkuNzYyODkgNC42NDgyIDkuOTExODMgNS4zOTY5NkMxMC4wNjA4IDYuMTQ1NzMgOS45ODQzMiA2LjkyMTg1IDkuNjkyMTcgNy42MjcxN0M5LjQwMDAyIDguMzMyNDkgOC45MDUyNyA4LjkzNTM0IDguMjcwNSA5LjM1OTQ5QzcuNjM1NzIgOS43ODM2MyA2Ljg4OTQzIDEwLjAxIDYuMTI1OTkgMTAuMDFDNS4xMDIyNiAxMC4wMSA0LjEyMDQ1IDkuNjAzMzQgMy4zOTY1NiA4Ljg3OTQ1QzIuNjcyNjcgOC4xNTU1NSAyLjI2NiA3LjE3Mzc1IDIuMjY2IDYuMTUwMDFWNi4xNTAwMVoiIGZpbGw9IiM1MDUwNTAiLz4KPC9zdmc+Cg==") no-repeat 0 0;background-size:cover;z-index:1}.consonant-Search input{box-sizing:border-box;min-height:32px;width:100%;max-width:100%;padding:0 8px 0 32px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.875rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;border:1px solid #eaeaea;border-radius:5px;background-color:#fff;transition:border-color background-color .3s ease-in-out ease-in-out .3s;outline:0;box-shadow:none}.consonant-Search input::-webkit-search-cancel-button,.consonant-Search input::-webkit-search-decoration,.consonant-Search input::-webkit-search-results-button,.consonant-Search input::-webkit-search-results-decoration{display:none}.consonant-Search input::-ms-clear,.consonant-Search input::-ms-reveal{display:none;width:0;height:0}.consonant-Search input::placeholder{font-style:italic;color:#959595;transition:opacity .3s ease-in-out}.consonant-Search input:focus{padding-right:32px;border-color:#2680eb;background-color:#fff}.consonant-Search input:focus::placeholder{opacity:0}input:valid+.consonant-Search-inputClear{visibility:visible;opacity:1;pointer-events:auto}.consonant-Search-inputClear{visibility:hidden;opacity:0;position:absolute;width:20px;height:20px;top:0;bottom:0;right:6px;margin:auto;font-size:0;line-height:0;border:0;border-radius:50%;background-color:#f4f4f4;outline:0;pointer-events:none;transition:background-color .3s ease-in-out}.consonant-Search-inputClear:after,.consonant-Search-inputClear:before{content:"";position:absolute;width:8px;height:1px;top:0;bottom:0;left:0;right:0;margin:auto;background-color:#747474;transform:rotate(45deg)}.consonant-Search-inputClear:after{transform:rotate(-45deg)}.consonant-Search-inputClear:focus{border:1px solid #1492e6}@media only screen and (min-width:1200px){.consonant-Search{order:-2}.consonant-Search-inputTitle{display:block}.consonant-Search-inputClear{width:24px;height:24px}.consonant-Search-inputClear:after,.consonant-Search-inputClear:before{width:10px}.consonant-Search-inputClear:hover{background-color:#1473e6}.consonant-Search-inputClear:hover:after,.consonant-Search-inputClear:hover:before{background-color:#fff}}.consonant-Select{position:relative;width:140px;margin-bottom:10px}.consonant-Select:after{content:"";position:absolute;width:6px;height:6px;top:0;bottom:0;right:12px;margin:auto;border:1px solid #323232;z-index:1;transform:rotate(-45deg) translate3d(-1px,-2px,0);border-top:0;border-right:0;pointer-events:none}.consonant-Select-btn{box-sizing:border-box;display:block;width:100%;max-width:140px;padding:0 34px 0 12px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.875rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;white-space:nowrap;cursor:pointer;border:1px solid #eaeaea;border-radius:5px;background-color:#fff;overflow:hidden;outline:0;text-overflow:ellipsis}.consonant-Select-btn:focus{border-color:#1492e6}.consonant-Select-btn.is-active+.consonant-Select-options{opacity:1}.consonant-Select-options{opacity:0;position:absolute;max-width:70vw;top:calc(100% + 6px);right:0;word-break:break-word;border:1px solid #eaeaea;background-color:#fff;box-shadow:0 3px 15px rgba(80,80,80,.1);transition:opacity .3s ease-in-out;z-index:5;border-radius:5px;overflow:hidden}.consonant-Select-options:empty{display:none}.consonant-Select-options--left{right:auto;left:0}.consonant-Select-option{display:block;width:100%;max-width:100%;padding:9px 30px 9px 20px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;text-overflow:ellipsis;background-color:#fff;transition:background-color .3s ease-in-out;outline:0;overflow:hidden;border:2px solid transparent}.consonant-Select-option:focus{border-color:#1492e6}.consonant-Select-option:hover{background-color:#f4f4f4}.consonant-Select-option.is-selected{position:relative;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#2680eb;font-style:normal;word-break:break-word;text-align:left}.consonant-Select-option.is-selected:after{content:"";position:absolute;width:10px;height:5px;top:0;bottom:0;right:16px;margin:auto;border:2px solid #1473e6;border-top:0;border-right:0;transform:rotate(-45deg) translate3d(1px,-2px,0);pointer-events:none}.consonant-Select--autoWidth{width:100%;max-width:100%;margin-bottom:0}.consonant-Select--autoWidth:after{width:4px;height:4px;border-color:#505050}.consonant-Select--autoWidth .consonant-Select-options{min-width:140px}.consonant-Select--autoWidth .consonant-Select-btn{max-width:100%}@media only screen and (min-width:768px){.consonant-Select--autoWidth{margin-right:0}.consonant-Select--autoWidth .consonant-Select-options{width:auto}}@media only screen and (min-width:1200px){.consonant-Select{width:112px;margin-bottom:0}.consonant-Select:focus{border-color:#1492e6}.consonant-Select:after{right:4px}.consonant-Select-options{min-width:108px}.consonant-Select-option{padding-top:7px;padding-bottom:7px}.consonant-Select-btn{max-width:112px;padding-left:4px;padding-right:10px;border:2px solid transparent}}.consonant-Pagination{justify-content:space-between;align-items:center;margin-left:auto;margin-right:auto;margin-bottom:50px;user-select:none}.consonant-Pagination-paginator{display:flex;justify-content:space-between;align-items:center;flex-grow:1;overflow-x:auto}.consonant-Pagination-btn{padding-left:0;padding-right:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:700;color:#4b4b4b;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;text-transform:capitalize;background-color:transparent;border:2px solid transparent;outline:0;transition:border-color .3s ease-in-out}.consonant-Pagination-btn:focus{border-color:#1492e6}.consonant-Pagination.lightText .consonant-Pagination-btn,.consonant-Pagination.lightText .consonant-Pagination-itemBtn,.consonant-Pagination.lightText .consonant-Pagination-summary,.consonant-Pagination.lightText li.consonant-Pagination-item{color:#fff}.consonant-Pagination.lightText .consonant-Pagination-item.is-active .consonant-Pagination-itemBtn{background-color:#707070;color:#fff}.consonant-Pagination.lightText .consonant-Pagination-item:hover .consonant-Pagination-itemBtn{color:#bcbcbc}.consonant-Pagination-items{display:flex;align-items:center;margin:0;padding:0 12px 0 20px;list-style-type:none}.consonant-Pagination-item{margin-right:7px}.consonant-Pagination-item:hover .consonant-Pagination-itemBtn{color:#2c2c2c}.consonant-Pagination-item:active .consonant-Pagination-itemBtn{color:#2c2c2c;background-color:#e1e1e1}.consonant-Pagination-item:active .consonant-Pagination-itemBtn:disabled,.consonant-Pagination-item:hover .consonant-Pagination-itemBtn:disabled,.consonant-Pagination-itemBtn:disabled{color:#b3b3b3;pointer-events:none;background-color:transparent}.consonant-Pagination-item.is-active .consonant-Pagination-itemBtn{background-color:#e1e1e1;color:#4b4b4b}.consonant-Pagination-item.is-active:active .consonant-Pagination-itemBtn,.consonant-Pagination-item.is-active:hover .consonant-Pagination-itemBtn{color:#2c2c2c}.consonant-Pagination-item.is-active .consonant-Pagination-itemBtn:disabled{color:#b3b3b3;background-color:#eaeaea}.consonant-Pagination-item:nth-of-type(n+5){display:none}.consonant-Pagination-itemBtn{position:relative;min-width:32px;min-height:32px;max-width:70px;padding:8px 10px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:.875rem;font-weight:400;color:#4b4b4b;font-style:normal;word-break:break-word;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:16px;outline:0;cursor:pointer;background-color:transparent;overflow:hidden}.consonant-Pagination-itemBtn:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;border:2px solid transparent;border-radius:30px;z-index:1}.consonant-Pagination-itemBtn:focus:after{border-color:#1492e6}.consonant-Pagination-summary{display:none;max-width:30%;align-items:center;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:right;margin-left:auto}@media only screen and (min-width:768px){.consonant-Pagination-paginator{justify-content:center}}@media only screen and (min-width:1200px){.consonant-Pagination{display:flex;justify-content:space-between;align-items:center;margin-bottom:100px}.consonant-Pagination-paginator{justify-content:flex-start;margin:0}.consonant-Pagination-btn{max-width:15%;overflow:hidden;text-overflow:ellipsis}.consonant-Pagination-item:nth-of-type(n+5){display:list-item}.consonant-Pagination-item:nth-of-type(n+11){display:none}.consonant-Pagination-summary{display:block}}.consonant-LoadMore{display:block;margin-left:auto;margin-right:auto;padding-bottom:115px;text-align:center;user-select:none}.consonant-LoadMore-inner{display:flex;flex-direction:column;align-items:center}.consonant-LoadMore-text{margin:0 0 14px;font-weight:400;transition:color .3s ease-in-out}.consonant-LoadMore-btn,.consonant-LoadMore-text{max-width:75%;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;color:#505050;font-style:normal;word-break:break-word;text-align:center}.consonant-LoadMore-btn{box-sizing:border-box;padding:5px 13px;font-weight:700;text-transform:capitalize;background-color:transparent;border:2px solid #505050;border-radius:30px;outline:0;user-select:none;transition:color .3s ease-in-out,background-color .3s ease-in-out,border-color .3s ease-in-out}.consonant-LoadMore-btn:hover{background-color:#505050;color:#fff}.consonant-LoadMore-btn:active{background-color:#323232;border-color:#323232;color:#fff}.consonant-LoadMore-btn:focus{outline:0}@media only screen and (min-width:1200px){.consonant-LoadMore-btn:focus{outline:2px solid #1492e6}}@media (prefers-color-scheme:dark){.consonant-LoadMore-btn{color:#c8c8c8;border-color:#c8c8c8}.consonant-LoadMore-btn:hover{background-color:#c8c8c8;color:#080808}.consonant-LoadMore-btn:active{background-color:#efefef;border-color:#efefef;color:#080808}.consonant-LoadMore-text{color:#c8c8c8}}.consonant-LoadMore--overBg .consonant-LoadMore-btn{border-color:#fff;color:#fff}.consonant-LoadMore--overBg .consonant-LoadMore-btn:active,.consonant-LoadMore--overBg .consonant-LoadMore-btn:hover{background-color:#fff;border-color:#fff;color:#505050}.consonant-LoadMore--themeThree .consonant-LoadMore-btn{color:#505050;border-color:#505050;background-color:transparent}.consonant-LoadMore--themeThree .consonant-LoadMore-btn:active,.consonant-LoadMore--themeThree .consonant-LoadMore-btn:hover{color:#fff;border-color:#505050;background-color:#505050}.consonant-LoadMore--themeThree .consonant-LoadMore-text{color:#505050}.consonant-LoadMore--overBg .consonant-LoadMore-text{color:#fff}@media only screen and (min-width:768px){.consonant-LoadMore{padding-bottom:121px}}@media only screen and (min-width:1440px){.consonant-LoadMore{padding-bottom:140px}}.consonant-Loader{box-sizing:border-box;display:inline-block;position:relative;width:16px;height:16px;border-radius:50%;overflow:hidden}.consonant-Loader--absolute{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;z-index:9}.consonant-Loader:after{content:"";position:absolute;box-sizing:border-box;top:0;bottom:0;left:0;right:0;border:2px solid #eaeaea;border-radius:50%;z-index:0}.consonant-Loader div{box-sizing:border-box;display:block;position:absolute;width:16px;height:16px;border:2px solid #2680eb;border-radius:100%;animation:circle 1s ease-in infinite;transform-origin:50% 50%;border-color:#2680eb transparent transparent;z-index:2;opacity:1;overflow:visible}.consonant-Loader div:first-child{animation-delay:-.1s}.consonant-Loader div:nth-child(2),.consonant-Loader div:nth-child(3){animation-delay:-.14s}.consonant-Loader--medium{width:32px;height:32px}.consonant-Loader--medium:after,.consonant-Loader--medium div{width:32px;height:32px;border-width:4px}.consonant-Loader--big{width:64px;height:64px}.consonant-Loader--big:after,.consonant-Loader--big div{width:64px;height:64px;border-width:5px}[data-tooltip-wrapper]{position:relative;overflow:visible}@media only screen and (min-width:1200px){[data-tooltip-wrapper]:hover .consonant-Tooltip{z-index:6000000;animation-name:fade-in-up;animation-duration:.3s;animation-delay:.2s;animation-timing-function:ease-in-out;animation-fill-mode:forwards}}.consonant-Tooltip{position:absolute;display:none;width:160px;padding:7px 14px;bottom:calc(100% + 9px);left:-72px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#fff;font-style:normal;word-break:break-word;text-align:center;text-decoration:none;border-radius:8px;background-color:#747474;z-index:-1;user-select:text;opacity:0}.consonant-Tooltip:after{content:"";position:absolute;width:6px;height:6px;bottom:-3px;left:0;right:0;margin:auto;background-color:#747474;transform-origin:50% 50%;transform:rotate(45deg)}@media only screen and (min-width:1200px){.consonant-Tooltip{display:block}}.consonant-SearchResult{background-color:rgba(250,124,19,.4)}.consonant-Bookmarks{position:relative;padding:19px 16px;background-color:transparent;order:1;border:0;outline:0;border-top:1px solid #eaeaea}.consonant-Bookmarks+div:last-child{margin-top:0}.consonant-Bookmarks-itemBadge{display:block;position:absolute;min-width:24px;max-width:100px;height:24px;margin:auto;padding:5px 7px;top:0;bottom:0;right:16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:.875rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:15px;background-color:#1473e6;z-index:1;opacity:1;border:0;outline:0;transition:opacity .3s ease-in-out;transition-delay:.1s;overflow:hidden}.consonant-Bookmarks-icoWrapper{display:flex;justify-content:flex-start;align-items:center;padding:0;background-color:transparent;border:0;outline:0}.consonant-Bookmarks-icoWrapper .consonant-Bookmarks-ico{display:block;min-width:16px;height:16px;margin-right:6px;background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNSAxMyc+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiM3MDcwNzB9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9J2Nscy0xJyBkPSdNMTAuNjguNUE0IDQgMCAwIDAgNy41IDIuNDEgNCA0IDAgMCAwIDQuMzIuNSAzLjgyIDMuODIgMCAwIDAgLjUgNC4zMmMwIDMuNjUgNyA4LjI3IDcgOC4yN3M3LTQuNTggNy04LjI3QTMuODIgMy44MiAwIDAgMCAxMC42OC41eicvPjwvc3ZnPg==") no-repeat 50% 50%;background-size:contain}.consonant-Bookmarks-title{display:block;padding-right:55px;padding-bottom:1px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#505050;font-style:normal;word-break:break-word;text-align:left;transition:color .3s ease-in-out}.consonant-Bookmarks.is-selected .consonant-Bookmarks-ico{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNSAxMyc+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiMxNDkyZTY7c3Ryb2tlOiMxNDkyZTZ9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9J2Nscy0xJyBkPSdNMTAuNjguNUE0IDQgMCAwIDAgNy41IDIuNDEgNCA0IDAgMCAwIDQuMzIuNSAzLjgyIDMuODIgMCAwIDAgLjUgNC4zMmMwIDMuNjUgNyA4LjI3IDcgOC4yN3M3LTQuNTggNy04LjI3QTMuODIgMy44MiAwIDAgMCAxMC42OC41eicvPjwvc3ZnPg==")}@media only screen and (min-width:1200px){.consonant-Bookmarks{position:relative;display:flex;margin-top:-1px;padding:14px 0;border:2px solid transparent;order:0}.consonant-Bookmarks:focus{border-color:#1492e6}.consonant-Bookmarks:after{content:"";position:absolute;display:block;height:1px;width:100%;left:0;top:0;background-color:#eaeaea;z-index:1}.consonant-Bookmarks-itemBadge{right:30px;font-size:.875rem;line-height:.875rem}.consonant-Bookmarks-itemBadge:active,.consonant-Bookmarks-itemBadge:hover{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:.875rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center}.consonant-Bookmarks-title:hover{color:#707070}}.consonant-SearchIco{display:flex;justify-content:center;align-items:center;box-sizing:border-box;align-self:stretch;height:32px;padding-left:20px;padding-right:20px;border:0;outline:0;background-color:transparent;transition:background-color .15s ease-in-out;font-size:0;line-height:0}.consonant-SearchIco:active,.consonant-SearchIco:hover{background-color:hsla(0,0%,92%,.3)}.consonant-SearchIco span{display:block;width:15px;height:15px;background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNScgaGVpZ2h0PScxNScgdmlld0JveD0nMCAwIDE1IDE1Jz48ZGVmcz48c3R5bGU+LmF7ZmlsbDojZmYxM2RjO29wYWNpdHk6MH0uYntmaWxsOiM1MDUwNTB9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9J2EnIGQ9J00wIDBoMTV2MTVIMHonLz48cGF0aCBjbGFzcz0nYicgZD0nTTEzLjUyNyAxMi40MzVMMTAuMzggOS4yODlhNS4xOTIgNS4xOTIgMCAxIDAtMS4yIDEuMmwzLjE0NiAzLjE0NmEuODUuODUgMCAwIDAgMS4yLTEuMnptLTExLTYuMTU5QTMuNjQzIDMuNjQzIDAgMSAxIDYuMTcgOS45MmEzLjY0MyAzLjY0MyAwIDAgMS0zLjY0My0zLjY0NHonLz48L3N2Zz4=") no-repeat 0 0;background-size:contain}@media only screen and (min-width:1200px){.consonant-SearchIco{padding-left:18px;padding-right:18px;border:2px solid transparent}.consonant-SearchIco:focus{border-color:#1492e6}}.consonant-NoResultsView{max-width:86%;margin-left:auto;margin-right:auto;margin-bottom:20px;padding:24px;overflow:hidden}.consonant-NoResultsView-title{display:block;margin-bottom:20px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.6875rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:center}.consonant-NoResultsView-description{text-align:center}.consonant-NoResultsView-description *{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:center}.consonant-NoResultsView-description strong{font-weight:700}.consonant-NoResultsView--withLightText .consonant-NoResultsView-description *,.consonant-NoResultsView--withLightText .consonant-NoResultsView-title{color:#fff}.consonant-Wrapper--carousel{display:flex;justify-content:center}.consonant-Wrapper--carousel .consonant-Wrapper-inner{max-width:1200px;width:83.4%}@media only screen and (max-width:1199px){.consonant-Wrapper--carousel .consonant-Wrapper-inner{padding:0;width:100%}}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-Wrapper-inner{padding:0;max-width:100%;width:100%}}.consonant-Wrapper--carousel .consonant-Wrapper-collection{min-height:100%;min-width:100%}.consonant-Wrapper--carousel .consonant-Wrapper-collection.is-loading{min-height:496px}.consonant-Wrapper--carousel .consonant-Container--carousel{min-width:100%;padding:8px 0;overflow-x:scroll;scroll-behavior:smooth}@media screen and (min-width:1200px){.consonant-Wrapper--carousel .consonant-Container--carousel{overflow:-moz-scrollbars-none;-ms-overflow-style:none}.consonant-Wrapper--carousel .consonant-Container--carousel::-webkit-scrollbar{height:0!important}}@media only screen and (max-width:1199px){.consonant-Wrapper--carousel .consonant-Container--carousel{padding-left:24px;padding-right:0}}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-Container--carousel{overflow:auto;padding-bottom:24px;padding-left:8px}}.consonant-Wrapper--carousel .consonant-CarouselInfo{display:flex;padding-left:16px;justify-content:space-between}@media screen and (min-width:600px) and (max-width:1199px){.consonant-Wrapper--carousel .consonant-CarouselInfo{padding-left:32px}}.consonant-Wrapper--carousel .consonant-CarouselInfo-collectionTitle{margin:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#2c2c2c;font-style:normal;word-break:break-word;text-align:left}.consonant-Wrapper--carousel .consonant-CarouselInfo-collectionTitle--withLightText{color:#fff}.consonant-Wrapper--carousel .consonant-CarouselInfo-results{display:block;margin-left:auto;padding-left:12px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:right}.consonant-Wrapper--carousel .consonant-CarouselInfo-results strong{font-weight:700}.consonant-Wrapper--carousel .consonant-CarouselInfo-results--withLightText{color:#eaeaea}.consonant-Wrapper--carousel .consonant-CardsGrid{grid-auto-flow:column;justify-content:flex-start;padding:8px 0;width:100%}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid{width:1200px}}.consonant-Wrapper--carousel .consonant-CardsGrid:after{display:block;content:"";height:100%;margin-left:-16px}.consonant-Wrapper--carousel .consonant-CardsGrid--2up{grid-template-columns:repeat(auto-fill,minmax(500px,500px))}.consonant-Wrapper--carousel .consonant-CardsGrid--2up .consonant-Card{min-width:500px}.consonant-Wrapper--carousel .consonant-CardsGrid--2up:after{width:1px}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid--2up{grid-template-columns:repeat(auto-fit,clamp(300px,90vw,500px))}.consonant-Wrapper--carousel .consonant-CardsGrid--2up .consonant-Card{min-width:300px;width:clamp(300px,90vw,500px)}.consonant-Wrapper--carousel .consonant-CardsGrid--2up:after{padding:0;width:1px}}.consonant-Wrapper--carousel .consonant-CardsGrid--3up{grid-template-columns:repeat(auto-fill,minmax(378px,378.5px))}.consonant-Wrapper--carousel .consonant-CardsGrid--3up .consonant-Card{min-width:378.5px}.consonant-Wrapper--carousel .consonant-CardsGrid--3up:after{width:1px}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid--3up{grid-template-columns:repeat(auto-fit,clamp(300px,90vw,378px))}.consonant-Wrapper--carousel .consonant-CardsGrid--3up .consonant-Card{min-width:300px;width:clamp(300px,90vw,378px)}.consonant-Wrapper--carousel .consonant-CardsGrid--3up:after{padding:0;width:1px}}.consonant-Wrapper--carousel .consonant-CardsGrid--4up{grid-template-columns:repeat(auto-fill,minmax(276px,276px))}.consonant-Wrapper--carousel .consonant-CardsGrid--4up .consonant-Card{min-width:276px}.consonant-Wrapper--carousel .consonant-CardsGrid--4up:after{width:1px}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid--4up{grid-template-columns:repeat(auto-fit,minmax(276px,max-content))}.consonant-Wrapper--carousel .consonant-CardsGrid--4up:after{padding:0;width:1px}}.consonant-Wrapper--carousel .consonant-CardsGrid--5up{grid-template-columns:repeat(auto-fill,minmax(228px,228px))}.consonant-Wrapper--carousel .consonant-CardsGrid--5up .consonant-Card{min-width:228px}.consonant-Wrapper--carousel .consonant-CardsGrid--5up:after{width:1px}@media only screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid--5up{grid-template-columns:repeat(auto-fit,minmax(225px,max-content))}.consonant-Wrapper--carousel .consonant-CardsGrid--5up .consonant-Card{min-width:225px}.consonant-Wrapper--carousel .consonant-CardsGrid--5up:after{padding:0;width:1px}}@media screen and (max-width:599px){.consonant-Wrapper--carousel .consonant-CardsGrid--with4xGutter{padding-left:8px}}.consonant-Wrapper--carousel .consonant-Navigation--carousel{display:none}@media screen and (min-width:600px){.consonant-Wrapper--carousel .consonant-Navigation--carousel{display:block}}.consonant-Wrapper--carousel .consonant-Navigation--carousel button{background:#efefef;border-radius:100%;display:block;height:34px;outline:none;position:absolute;right:0;top:50%;transform:translate(50%,-50%);animation:carousel-fade-button 1s;transition:all .3s ease;width:34px;z-index:5}@media only screen and (max-width:1199px){.consonant-Wrapper--carousel .consonant-Navigation--carousel button{margin-right:36px}}.consonant-Wrapper--carousel .consonant-Navigation--carousel button.consonant-Button--previous{left:0;right:auto;transform:translate(-50%,-50%) rotate(180deg)}.consonant-Wrapper--carousel .consonant-Navigation--carousel button:after,.consonant-Wrapper--carousel .consonant-Navigation--carousel button:before{background-color:#505050;border-bottom-left-radius:25% 60%;border-bottom-right-radius:25% 60%;border-top-left-radius:25% 60%;border-top-right-radius:25%;content:"";display:block;height:3px;left:17px;position:absolute;top:14px;transform-origin:left center;transform:rotate(45deg) translate(-50%,-50%);width:11px;z-index:1}.consonant-Wrapper--carousel .consonant-Navigation--carousel button:after{border-bottom-left-radius:25% 60%;border-bottom-right-radius:25%;border-top-left-radius:25% 60%;border-top-right-radius:25% 60%;top:18px;transform:rotate(-45deg) translate(-50%,50%)}.consonant-Wrapper--carousel .consonant-Navigation--carousel button:hover:after,.consonant-Wrapper--carousel .consonant-Navigation--carousel button:hover:before{background-color:#000}.modalContainer .modal.stuck-above-footer{bottom:0;position:absolute;width:100%}.modalContainer .modal.stuck-above-footer .dexter-Modal_overlay{position:absolute}.dexter-Modal_overlay{display:flex;opacity:0;position:fixed;transition:opacity 125ms ease-in-out,background-color 125ms ease-in-out,backdrop-filter 125ms ease-in-out,-webkit-backdrop-filter 125ms ease-in-out,transform 125ms ease-in-out;visibility:hidden}.dexter-Modal_overlay.is-Open{align-items:center;background:none;bottom:0;justify-content:center;left:0;opacity:1;right:0;top:0;visibility:visible}.dexter-Modal_overlay.closePlacement-outsideTopRight{padding:5.125rem 2.625rem 2.625rem}.dexter-Modal_overlay.closePlacement-outsideTopRight .dexter-CloseButton{right:-2.0625rem;top:-2.0625rem}.dexter-Modal_overlay[data-conf-display*=onPageLoad],.dexter-Modal_overlay[data-conf-preset*=NoClose]{pointer-events:none;z-index:110}.dexter-Modal_overlay[data-conf-display*=onHashChange]:not([data-conf-preset*=NoClose]){background-color:rgba(0,0,0,.9);pointer-events:all;z-index:200}.dexter-Modal_overlay[data-conf-preset*=NoClose] .dexter-Modal{display:block;opacity:1;visibility:visible}.dexter-Modal_overlay[data-conf-preset*=NoClose] .dexter-CloseButton{display:none}.dexter-Modal_overlay.mobile-place-top{align-items:flex-start}.dexter-Modal_overlay.mobile-place-middle{align-items:center}.dexter-Modal_overlay.mobile-place-bottom,.dexter-Modal_overlay[data-conf-preset*=stickyBottom]{align-items:flex-end}@media only screen and (min-width:37.5rem){.dexter-Modal_overlay.tablet-place-top{align-items:flex-start}.dexter-Modal_overlay.tablet-place-middle{align-items:center}.dexter-Modal_overlay.tablet-place-bottom,.dexter-Modal_overlay[data-conf-preset*=stickyBottom]{align-items:flex-end}.dexter-Modal_overlay.tablet-place-left{justify-content:flex-start}.dexter-Modal_overlay.tablet-place-center{justify-content:center}.dexter-Modal_overlay.tablet-place-right{justify-content:flex-end}}@media only screen and (min-width:75rem){.dexter-Modal_overlay.closePlacement-outsideTopRight{padding-top:7.625rem}.dexter-Modal_overlay.desktop-place-top{align-items:flex-start}.dexter-Modal_overlay.desktop-place-middle{align-items:center}.dexter-Modal_overlay.desktop-place-bottom,.dexter-Modal_overlay[data-conf-preset*=stickyBottom]{align-items:flex-end}.dexter-Modal_overlay.desktop-place-left{justify-content:flex-start}.dexter-Modal_overlay.desktop-place-center{justify-content:center}.dexter-Modal_overlay.desktop-place-right{justify-content:flex-end}}.dexter-Modal{display:none;opacity:0;pointer-events:all;visibility:hidden;width:100%}.dexter-Modal:focus{outline:none}.dexter-Modal.is-Open{background:#fff;display:block;opacity:1;position:relative;visibility:visible}.dexter-Modal.mobile-height-100{height:100%}.dexter-Modal.mobile-height-auto,[data-conf-preset*=stickyBottom] .dexter-Modal{height:auto}.dexter-Modal.mobile-height-auto>.aem-Grid,[data-conf-preset*=stickyBottom] .dexter-Modal>.aem-Grid{max-height:calc(100vh - 150px);overflow-x:hidden;overflow-y:auto}.dexter-Modal.drop-shadow{box-shadow:0 .5em 1em -.125em hsla(0,0%,4%,.1),0 0 0 1px hsla(0,0%,4%,.02)}.dexter-Modal .dexter-CloseButton{border:3px solid transparent;border-radius:50%;height:24px;position:absolute;right:5px;top:5px;width:24px;z-index:1}.dexter-Modal .dexter-CloseButton.focus-ring{outline:3px solid #1473e6}.dexter-Modal .dexter-CloseButton .dexter-CloseButton_icon:after{content:"";height:44px;left:-13px;position:absolute;top:-13px;width:44px}.dexter-Modal .dexter-CloseButton .dexter-CloseButton_icon.spectrum-close-circle-light:after{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCI+PHBhdGggZD0iTTI5IDE1YTEwIDEwIDAgMSAwIDAgMTQuMTJBMTAgMTAgMCAwIDAgMjkgMTVabS0zLjExIDExLjc0YS41LjUgMCAwIDEtLjcxIDBMMjIgMjMuNTZsLTMuMTggMy4xOGEuNS41IDAgMCAxLS43MSAwbC0uODUtLjg1YS41LjUgMCAwIDEgMC0uNzFMMjAuNDQgMjJsLTMuMTgtMy4xOGEuNS41IDAgMCAxIDAtLjcxbC44NS0uODVhLjUuNSAwIDAgMSAuNzEgMEwyMiAyMC40NGwzLjE4LTMuMThhLjUuNSAwIDAgMSAuNzEgMGwuODUuODVhLjUuNSAwIDAgMSAwIC43MUwyMy41NSAyMmwzLjE4IDMuMThhLjUuNSAwIDAgMSAwIC43MVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=")}.dexter-Modal .dexter-CloseButton .dexter-CloseButton_icon.spectrum-close-circle-dark:after{background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCI+PHBhdGggZD0iTTI5IDE1YTEwIDEwIDAgMSAwIDAgMTQuMTJBMTAgMTAgMCAwIDAgMjkgMTVabS0zLjExIDExLjc0YS41LjUgMCAwIDEtLjcxIDBMMjIgMjMuNTZsLTMuMTggMy4xOGEuNS41IDAgMCAxLS43MSAwbC0uODUtLjg1YS41LjUgMCAwIDEgMC0uNzFMMjAuNDQgMjJsLTMuMTgtMy4xOGEuNS41IDAgMCAxIDAtLjcxbC44NS0uODVhLjUuNSAwIDAgMSAuNzEgMEwyMiAyMC40NGwzLjE4LTMuMThhLjUuNSAwIDAgMSAuNzEgMGwuODUuODVhLjUuNSAwIDAgMSAwIC43MUwyMy41NSAyMmwzLjE4IDMuMThhLjUuNSAwIDAgMSAwIC43MVoiIGZpbGw9IiM3MDcwNzAiLz48L3N2Zz4=")}.dexter-Modal .aem-Grid{height:100%;overflow:auto}.dexter-Modal .aem-Grid.focus-ring,.dexter-Modal .aem-Grid:focus{outline:none}@media only screen and (min-width:37.5rem){.dexter-Modal.tablet-width-100{width:100%}.dexter-Modal.tablet-width-240{width:15rem}.dexter-Modal.tablet-width-360{width:22.5rem}.dexter-Modal.tablet-width-480{width:30rem}.dexter-Modal.tablet-width-640{width:40rem}.dexter-Modal.tablet-height-100{height:100%;top:0}.dexter-Modal.tablet-height-240{height:15rem}.dexter-Modal.tablet-height-360{height:22.5rem}.dexter-Modal.tablet-height-480{height:30rem}.dexter-Modal.tablet-height-640{height:40rem}.dexter-Modal.tablet-height-auto,[data-conf-preset*=stickyBottom] .dexter-Modal{height:auto}.dexter-Modal.tablet-height-auto>.aem-Grid,[data-conf-preset*=stickyBottom] .dexter-Modal>.aem-Grid{max-height:calc(100vh - 60px);overflow-x:hidden;overflow-y:auto}}@media only screen and (max-device-width:56.1875rem) and (orientation:landscape){.dexter-Modal.tablet-height-auto#languageNavigation{height:100%}}@media only screen and (min-width:75rem){.dexter-Modal.desktop-width-100{width:100%}.dexter-Modal.desktop-width-240{width:15rem}.dexter-Modal.desktop-width-360{width:22.5rem}.dexter-Modal.desktop-width-480{width:30rem}.dexter-Modal.desktop-width-640{width:40rem}.dexter-Modal.desktop-width-1024{width:64rem}.dexter-Modal.desktop-height-100{height:100%;top:0}.dexter-Modal.desktop-height-240{height:15rem}.dexter-Modal.desktop-height-360{height:22.5rem}.dexter-Modal.desktop-height-480{height:30rem}.dexter-Modal.desktop-height-640{height:40rem}.dexter-Modal.desktop-height-1024{height:64rem}.dexter-Modal.desktop-height-auto,.dexter-Modal.mobile-height-auto,.dexter-Modal.tablet-height-auto,[data-conf-preset*=stickyBottom] .dexter-Modal{height:auto}.dexter-Modal.desktop-height-auto>.aem-Grid,.dexter-Modal.mobile-height-auto>.aem-Grid,.dexter-Modal.tablet-height-auto>.aem-Grid,[data-conf-preset*=stickyBottom] .dexter-Modal>.aem-Grid{max-height:100vh;overflow-x:hidden;overflow-y:auto}}.consonant-TopFilters{display:block;margin:0 auto;padding-bottom:16px}.consonant-TopFilters-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;max-width:100%}.consonant-TopFilters-filters:last-child>div:last-child{margin-right:0}.consonant-TopFilters-inner>:not(.consonant-TopFilters-filtersWrapper):first-child{margin-left:auto;margin-right:0}.consonant-TopFilters-searchWrapper{display:block;order:-2}.consonant-TopFilters-filtersWrapper{display:flex;justify-content:flex-end;align-items:flex-start;flex-grow:1;max-width:calc(100% - 140px * .85 - 8px)}.consonant-TopFilters-filtersWrapper:first-child{max-width:100%;justify-content:flex-start}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.consonant-TopFilters-filtersWrapper{flex-basis:100%}}.consonant-TopFilters-filtersWrapper+*{margin-left:auto}.consonant-TopFilters-filters{display:flex;justify-content:flex-start;align-items:stretch;margin-right:16px;overflow-y:auto}.consonant-TopFilters-filters:last-child{margin-right:0}.consonant-TopFilters-filters>div h3 button{white-space:nowrap}.consonant-TopFilters-filters.consonant-TopFilters-filters--truncated>div h3 button{white-space:nowrap}.consonant-TopFilters-moreBtn{margin-bottom:8px;padding:5px 12px 6px;font-size:.875rem;line-height:1.1875rem;font-weight:700;color:#505050;text-align:center;text-transform:capitalize;background-color:#fff;border:1px solid #eaeaea;border-radius:16px;outline:0}.consonant-TopFilters-moreBtn,.consonant-TopFilters-title{display:none;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-style:normal;word-break:break-word;user-select:none;white-space:nowrap}.consonant-TopFilters-title{margin-right:12px;min-width:55px;max-width:20%;text-overflow:ellipsis;overflow:hidden;font-size:1rem;line-height:2rem;font-weight:600;color:#2c2c2c;text-align:left}.consonant-TopFilters-clearBtnWrapper{position:sticky;display:flex;justify-content:center;align-items:center;right:0;min-height:32px;max-width:40%}.consonant-TopFilters-clearBtnWrapper:empty{margin-left:-16px;overflow:visible}.consonant-TopFilters-clearBtnWrapper--withBlur:after{content:"";position:absolute;width:56px;height:100%;background:transparent linear-gradient(270deg,#fff,hsla(0,0%,100%,0)) 0 0 no-repeat padding-box;top:0;bottom:0;right:100%;margin:auto;z-index:2;pointer-events:none}.consonant-TopFilters-clearBtn{padding:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:2rem;font-weight:700;color:#1473e6;font-style:normal;word-break:break-word;text-align:right;background-color:transparent}.consonant-TopFilters-clearBtn:focus{outline:0}@media only screen and (min-width:1200px){.consonant-TopFilters-clearBtn:focus{outline:2px solid #1492e6}}.consonant-TopFilters-selectWrapper{display:flex;justify-content:flex-end;width:119px;margin-right:8px;order:-1;overflow:visible}.consonant-TopFilters-selectWrapper:only-child{margin-left:auto;margin-right:0}.consonant-TopFilters-searchIcoWrapper{display:none}.consonant-TopFilters-infoWrapper{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;width:100%;padding-top:16px}.consonant-TopFilters-infoWrapper:only-child{padding-top:0}.consonant-TopFilters-collectionTitle{margin:0;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#2c2c2c;text-align:left}.consonant-TopFilters-collectionTitle,.consonant-TopFilters-results{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-style:normal;word-break:break-word}.consonant-TopFilters-results{display:block;margin-left:auto;padding-left:12px;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;text-align:right}.consonant-TopFilters-results strong{font-weight:700}.consonant-TopFilters--withLightText .consonant-TopFilters-collectionTitle,.consonant-TopFilters--withLightText .consonant-TopFilters-results,.consonant-TopFilters--withLightText .consonant-TopFilters-title{color:#fff}.consonant-TopFilters--withLightText .consonant-SearchIco{filter:invert(1)}.consonant-TopFilters:empty{display:none}@media only screen and (min-width:768px){.consonant-TopFilters{padding-bottom:32px}.consonant-TopFilters-filtersWrapper{max-width:60%;justify-content:flex-start;margin-right:16px}.consonant-TopFilters-title{display:block}.consonant-TopFilters-filters{align-items:flex-start;flex-wrap:wrap;overflow:hidden}.consonant-TopFilters-filters--truncated{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto}.consonant-TopFilters-filters--truncated .consonant-TopFilters-filters-moreBtn{display:block;min-width:120px;margin-right:24px}.consonant-TopFilters-filters--truncated>div:nth-child(n+4){display:none}.consonant-TopFilters-filters>div h3 button{white-space:normal}.consonant-TopFilters-clearBtnWrapper:after{display:none}.consonant-TopFilters-moreBtn{display:block;min-width:auto}.consonant-TopFilters-selectWrapper{max-width:140px;order:0;margin-right:0}.consonant-TopFilters-searchIcoWrapper{position:relative;display:flex;justify-content:center;align-items:center;min-width:55px;min-height:24px}.consonant-TopFilters-searchIcoWrapper>div{position:relative;width:268px;top:0;right:20px;z-index:3;margin-bottom:-20px}.consonant-TopFilters-searchIcoWrapper:only-child>div{right:0}.consonant-TopFilters-searchIcoWrapper>div+button{display:none;margin:0;padding:0}}@media only screen and (min-width:1200px){.consonant-TopFilters-searchIcoWrapper label>span:first-child{display:none}.consonant-TopFilters-selectWrapper{min-width:auto;max-width:160px;margin-right:0;margin-left:0}.consonant-TopFilters-selectWrapper>div:first-child>button{padding-left:12px;padding-right:12px;border:1px solid #eaeaea;border-radius:4px}.consonant-TopFilters-selectWrapper>div:first-child:after{right:12px}.consonant-TopFilters-filters{overflow:visible}.consonant-TopFilters-filters.consonant-TopFilters-filters--truncated{justify-content:flex-start;flex-wrap:wrap;overflow:visible}.consonant-TopFilters-filters.consonant-TopFilters-filters--truncated>div:last-child{margin-right:0}.consonant-TopFilters .is-opened{margin-bottom:8px}}.consonant-TopFilter{position:relative;margin-right:8px;margin-bottom:8px;cursor:pointer;user-select:none;border:0;outline:0}.consonant-TopFilter:after{content:"";position:absolute;top:0;bottom:0;right:8px;margin:auto;width:4px;height:4px;border:1px solid #747474;transform:rotate(-45deg) translate3d(1px,-2px,0);border-top:0;border-right:0;pointer-events:none}.consonant-TopFilter-inner{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:100%;max-width:100%;max-height:90vh;background-color:transparent;border-radius:5px}.consonant-TopFilter-selectedItems,.consonant-TopFilter-selectedItems ul~.consonant-TopFilter-footer{display:none}.consonant-TopFilter-name{display:flex;align-items:center;margin:2px 0}.consonant-TopFilter-link{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:100%;padding:5px 17px 6px 12px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;text-decoration:none;border:1px solid #eaeaea;border-radius:4px;background-color:#fff;outline:0;cursor:pointer}.consonant-TopFilter-link:focus{outline:0}@media only screen and (min-width:1200px){.consonant-TopFilter-link:focus{outline:2px solid #1492e6}}.consonant-TopFilter-selectedItemsQty{display:block;position:relative;margin:0 0 0 9px;padding:0 6px;overflow:visible;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:400;color:#323232;font-style:normal;word-break:break-word;text-align:left}.consonant-TopFilter-selectedItemsQty:after{content:"";position:absolute;width:1px;height:calc(100% + 4px + 3px);left:0;top:-4px;background-color:#eaeaea}.consonant-TopFilter-selectedItemsQty:empty{display:none}.consonant-TopFilter-items{display:block;height:50vh;margin:auto 0 0;padding:0;list-style-type:none;border-top:1px solid #eaeaea;overflow-y:auto;cursor:default}.consonant-TopFilter-items--clipped{padding-bottom:32px}.consonant-TopFilter-bg{position:relative;display:none;overflow:visible}.consonant-TopFilter-bg:after{content:"";position:absolute;width:100%;max-width:100%;height:20px;left:0;right:0;bottom:100%;background:transparent linear-gradient(180deg,hsla(0,0%,100%,.3),#fff) no-repeat 0 0;z-index:1;pointer-events:none}.consonant-TopFilter-items.consonant-TopFilter-items--clipped+aside{display:block}.consonant-TopFilter-item{display:flex;align-items:baseline;transition:background-color .3s ease-in-out}.consonant-TopFilter-item:hover{background-color:#f4f4f4}.consonant-TopFilter-itemLabel{position:relative;display:flex;align-items:center;width:100%;max-width:100%;padding:8px 20px 6px;cursor:pointer}.consonant-TopFilter-itemLabel:focus{outline:0}@media only screen and (min-width:1200px){.consonant-TopFilter-itemLabel:focus{outline:2px solid #1492e6}}.consonant-TopFilter input[type=checkbox]{width:0;height:0;max-width:0;max-height:0;margin:0;padding:0;opacity:0;border:0;outline:0}input[type=checkbox]:checked+.consonant-TopFilter-itemCheckmark{background-color:#2680eb;border-color:#2680eb}input[type=checkbox]:checked+.consonant-TopFilter-itemCheckmark:after{display:block}.consonant-TopFilter-itemCheckmark{position:relative;display:block;min-width:14px;width:14px;height:14px;margin-right:10px;border:2px solid #959595;border-radius:3px;transition:border-color .3s ease-in-out,background-color .3s ease-in-out;pointer-events:none}.consonant-TopFilter-itemCheckmark:after{display:none;content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;border-radius:2px;transform:rotate(-45deg) translate3d(1px,0,0)}.consonant-TopFilter-itemName{padding-bottom:1px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:400;color:#505050;font-style:normal;text-align:left;text-transform:capitalize;word-break:break-word;pointer-events:none}.consonant-TopFilter-footer{margin-top:auto;align-items:center;padding:16px;border-top:1px solid #eaeaea}.consonant-TopFilter-footerResQty{margin-right:auto;color:#505050;text-transform:capitalize}.consonant-TopFilter-footerClearBtn,.consonant-TopFilter-footerResQty{display:block;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;font-style:normal;word-break:break-word;text-align:left}.consonant-TopFilter-footerClearBtn{margin-right:17px;padding:0;color:#1473e6;background-color:transparent;border:0;outline:0}.consonant-TopFilter-footerClearBtn:focus{outline:0}@media only screen and (min-width:1200px){.consonant-TopFilter-footerClearBtn:focus{outline:2px solid #1492e6}}.consonant-TopFilter-footerClearBtn+.consonant-TopFilter-footerBtn{margin-left:0}.consonant-TopFilter-footerBtn{min-width:71px;margin-left:auto;padding:8px 16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center;text-transform:capitalize;background-color:#1473e6;border-radius:20px;border:0;outline:0}.consonant-TopFilter-footerBtn:focus{outline:0}@media only screen and (min-width:1200px){.consonant-TopFilter-footerBtn:focus{outline:2px solid #1492e6}}.consonant-TopFilter.is-selected:not(.is-opened):after{display:none}.consonant-TopFilter.is-selected:not(.is-opened)>.consonant-TopFilter-inner{background-color:#f4f4f4}.consonant-TopFilter.is-selected:not(.is-opened) .consonant-TopFilter-link{border-color:#505050;padding-right:0;color:#323232;background-color:#f4f4f4}.consonant-TopFilter.is-opened{position:fixed;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;padding-left:20px;padding-right:20px;top:0;bottom:0;left:0;right:0;margin:auto;z-index:4;background-color:rgba(80,80,80,.8)}.consonant-TopFilter.is-opened:after{display:none}.consonant-TopFilter.is-opened .consonant-TopFilter-inner{position:relative;box-shadow:0 3px 15px rgba(80,80,80,.8);border:1px solid #eaeaea;border-radius:4px;background-color:#fff}.consonant-TopFilter.is-opened .consonant-TopFilter-inner:after{content:"";position:absolute;display:block;width:100%;max-width:100%;height:33px;bottom:65px;left:0;right:0;background:transparent linear-gradient(180deg,hsla(0,0%,100%,.5),#fff) no-repeat 0 0;z-index:1;pointer-events:none}.consonant-TopFilter.is-opened .consonant-TopFilter-selectedItems ul~.consonant-TopFilter-footer{display:flex}.consonant-TopFilter.is-opened .consonant-TopFilter-selectedItems{display:block}.consonant-TopFilter.is-opened .consonant-TopFilter-selectedItemsQty{display:none}.consonant-TopFilter.is-opened .consonant-TopFilter-link{padding-top:17px;padding-bottom:17px;padding-right:36px;border-bottom:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.1875rem;font-weight:700;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;text-decoration:none;cursor:pointer}@media only screen and (min-width:768px){.consonant-TopFilter{max-width:100%}.consonant-TopFilter.is-opened .consonant-TopFilter-inner{max-width:70vw;margin-left:auto;margin-right:auto}}@media only screen and (min-width:1200px){.consonant-TopFilter-items{min-height:0;max-height:295px;padding-top:12px;overflow-y:auto}.consonant-TopFilter-itemLabel{padding-left:24px;padding-right:24px}.consonant-TopFilter.is-opened{position:relative;width:auto;margin:0;padding:0;margin-right:8px;margin-bottom:8px;border-radius:4px;z-index:2;background-color:transparent}.consonant-TopFilter.is-opened:after{width:4px;height:4px;top:0;bottom:0;right:8px;margin:auto;border-color:#1473e6;border-width:1px;transform:rotate(-45deg) translate3d(1px,-2px,0);transition:border-color .3s ease-in-out}.consonant-TopFilter.is-opened .consonant-TopFilter-inner{position:static;box-shadow:none;border:0;background-color:transparent}.consonant-TopFilter.is-opened .consonant-TopFilter-inner:after{display:none}.consonant-TopFilter.is-opened .consonant-TopFilter-link{display:flex;justify-content:space-between;align-items:center;height:32px;padding:5px 17px 6px 12px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:400;color:#1473e6;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;border:1px solid #1473e6;border-radius:4px;transition:border-color .3s ease-in-out,color .3s ease-in-out}.consonant-TopFilter.is-opened input[type=checkbox]:focus+.consonant-TopFilter-itemCheckmark{outline:2px solid #1492e6}.consonant-TopFilter.is-opened .consonant-TopFilter-absoluteWrapper{position:absolute;display:block;left:0;top:40px;width:320px;max-height:360px;overflow-y:auto;border:1px solid #eaeaea;border-radius:4px;box-shadow:0 3px 15px rgba(80,80,80,.101);background-color:#fff;z-index:2;overflow:hidden}.consonant-TopFilter.is-opened .consonant-TopFilter-selectedItemsQty{padding:0;visibility:hidden;font-size:0}.consonant-TopFilter.is-opened .consonant-TopFilter-selectedItems ul~.consonant-TopFilter-footer{display:flex}}.consonant-LeftFilters{position:static;display:flex;flex-direction:column;width:100%;max-width:100%;top:0;bottom:0;left:0;right:0;background-color:#fff;overflow:visible;user-select:none}.consonant-LeftFilters>*,.consonant-LeftFilters>.consonant-Search{display:none}.consonant-LeftFilters-header{display:flex;justify-content:space-between;align-items:center;display:none;width:100%;max-width:100%;padding:14px 12px;border-bottom:1px solid #eaeaea}.consonant-LeftFilters-deskTitle{display:none;margin:0;max-width:70%;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.1875rem;font-weight:700;color:#2c2c2c;font-style:normal;word-break:break-word;text-align:left}.consonant-LeftFilters-mobTitle{display:flex;align-items:center}.consonant-LeftFilters-mobTitle span{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.1875rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left}.consonant-LeftFilters-mobTitle span:focus{outline:1px solid #1492e6}.consonant-LeftFilters-mobBack{display:block;width:32px;height:32px;margin-right:13px;font-size:0;line-height:0;border:1px solid #eaeaea;border-radius:50%;background:#fff url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxNCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjk4OTkgNC4wMDAwNkgzLjQxMzg4TDUuNjk5ODggMS43MTcwNkM1Ljc5MjkyIDEuNjI0MDIgNS44NjY3MiAxLjUxMzU2IDUuOTE3MDggMS4zOTJDNS45Njc0MyAxLjI3MDQzIDUuOTkzMzUgMS4xNDAxNCA1Ljk5MzM1IDEuMDA4NTZDNS45OTMzNSAwLjg3Njk4MSA1Ljk2NzQzIDAuNzQ2Njg5IDUuOTE3MDggMC42MjUxMjVDNS44NjY3MiAwLjUwMzU2IDUuNzkyOTIgMC4zOTMxMDQgNS42OTk4OCAwLjMwMDA2MkM1LjYwNjg0IDAuMjA3MDIxIDUuNDk2MzggMC4xMzMyMTYgNS4zNzQ4MiAwLjA4Mjg2MjNDNS4yNTMyNSAwLjAzMjUwODUgNS4xMjI5NiAwLjAwNjU5MTggNC45OTEzOCAwLjAwNjU5MThDNC43MjU2NCAwLjAwNjU5MTggNC40NzA3OCAwLjExMjE1NiA0LjI4Mjg4IDAuMzAwMDYyTDAuMjk5ODc4IDQuMjkzMDZDMC4yMDY5MDIgNC4zODU5NCAwLjEzMzE0MyA0LjQ5NjIyIDAuMDgyODE4NyA0LjYxNzYyQzAuMDMyNDk0NCA0LjczOTAyIDAuMDA2NTkxOCA0Ljg2OTE1IDAuMDA2NTkxOCA1LjAwMDU2QzAuMDA2NTkxOCA1LjEzMTk4IDAuMDMyNDk0NCA1LjI2MjEgMC4wODI4MTg3IDUuMzgzNUMwLjEzMzE0MyA1LjUwNDkgMC4yMDY5MDIgNS42MTUxOSAwLjI5OTg3OCA1LjcwODA2TDQuMjgyODggOS43MDAwNkM0LjM3NTkyIDkuNzkzMSA0LjQ4NjM4IDkuODY2OTEgNC42MDc5NCA5LjkxNzI2QzQuNzI5NTEgOS45Njc2MiA0Ljg1OTggOS45OTM1MyA0Ljk5MTM4IDkuOTkzNTNDNS4xMjI5NiA5Ljk5MzUzIDUuMjUzMjUgOS45Njc2MiA1LjM3NDgyIDkuOTE3MjZDNS40OTYzOCA5Ljg2NjkxIDUuNjA2ODQgOS43OTMxIDUuNjk5ODggOS43MDAwNkM1Ljc5MjkyIDkuNjA3MDIgNS44NjY3MiA5LjQ5NjU2IDUuOTE3MDggOS4zNzVDNS45Njc0MyA5LjI1MzQzIDUuOTkzMzUgOS4xMjMxNCA1Ljk5MzM1IDguOTkxNTZDNS45OTMzNSA4Ljg1OTk4IDUuOTY3NDMgOC43Mjk2OSA1LjkxNzA4IDguNjA4MTJDNS44NjY3MiA4LjQ4NjU2IDUuNzkyOTIgOC4zNzYxIDUuNjk5ODggOC4yODMwNkwzLjQxMzg4IDYuMDAwMDZIMTIuOTg5OUMxMy4yNTUxIDYuMDAwMDYgMTMuNTA5NCA1Ljg5NDcgMTMuNjk3IDUuNzA3MTdDMTMuODg0NSA1LjUxOTYzIDEzLjk4OTkgNS4yNjUyOCAxMy45ODk5IDUuMDAwMDZDMTMuOTg5OSA0LjczNDg1IDEzLjg4NDUgNC40ODA0OSAxMy42OTcgNC4yOTI5NkMxMy41MDk0IDQuMTA1NDIgMTMuMjU1MSA0LjAwMDA2IDEyLjk4OTkgNC4wMDAwNloiIGZpbGw9IiM1MDUwNTAiLz4KPC9zdmc+Cg==") no-repeat 50% 50%;background-position:contain;outline:0}.consonant-LeftFilters-mobBack:focus{border-color:#1492e6}.consonant-LeftFilters-clearLink{display:none;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#bcbcbc;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;background-color:transparent;outline:0}.consonant-LeftFilters-clearLink:focus{outline:0}@media only screen and (min-width:1200px){.consonant-LeftFilters-clearLink:focus{outline:2px solid #1492e6}}.consonant-LeftFilters-list{margin-bottom:auto;padding-left:16px;padding-right:16px;overflow-y:auto}.consonant-LeftFilters-mobileFooter{display:none;align-items:center;padding:16px;border-top:1px solid #eaeaea;order:2}.consonant-LeftFilters-mobileFooterTotalResQty{margin-right:auto;max-width:55%;color:#505050;text-transform:capitalize}.consonant-LeftFilters-mobileFooterClearBtn,.consonant-LeftFilters-mobileFooterTotalResQty{display:block;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;font-style:normal;word-break:break-word;text-align:left}.consonant-LeftFilters-mobileFooterClearBtn{margin-right:17px;padding:0;color:#1473e6;background-color:transparent;border:0;outline:0}.consonant-LeftFilters-mobileFooterClearBtn:focus{box-shadow:0 2px 0 0 #1492e6}.consonant-LeftFilters-mobileFooterClearBtn:first-child{margin-left:auto}.consonant-LeftFilters-mobileFooterClearBtn+.consonant-LeftFilters-mobileFooterBtn{margin-left:0}.consonant-LeftFilters-mobileFooterBtn{min-width:71px;margin-left:auto;padding:8px 16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center;text-transform:capitalize;background-color:#1473e6;border-radius:20px;border:0;outline:0;position:relative}.consonant-LeftFilters-mobileFooterBtn:focus:after{border-radius:18px;content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;margin:-2px;transition:box-shadow .13s ease-out,margin .13s ease-out;box-shadow:0 0 0 2px #1492e6}.consonant-LeftFilters.is-opened{position:fixed;z-index:10000;display:flex}.consonant-LeftFilters.is-opened .consonant-LeftFilters-header,.consonant-LeftFilters.is-opened .consonant-LeftFilters-mobileFooter,.consonant-LeftFilters.is-opened>button{display:flex}.consonant-LeftFilters.is-opened .consonant-LeftFilters-list{display:block}.consonant-LeftFilters.is-opened .consonant-LeftFilters-itemName img{display:none;position:relative;top:4px}.consonant-LeftFilters-chosenFilters{position:relative;flex-wrap:wrap;justify-content:flex-start;align-items:center;margin-top:-16px;width:100%;max-width:100%;padding-bottom:8px;background-color:transparent}.consonant-LeftFilters-chosenFilters:empty{display:none}@media only screen and (min-width:1200px){.consonant-LeftFilters{width:204px;max-width:204px;margin-right:32px;padding:8px 16px 16px;border-radius:4px;overflow:visible}.consonant-LeftFilters-list{display:block;margin-bottom:0;padding:0;border-top:1px solid #eaeaea;overflow:hidden;z-index:1}.consonant-LeftFilters-mobTitle{display:none}.consonant-LeftFilters-header{display:flex;padding:0 0 24px;border-bottom:1px solid #eaeaea;order:-3}.consonant-LeftFilters-header+button:after{display:none}.consonant-LeftFilters-deskTitle{display:block}.consonant-LeftFilters>.consonant-Search{display:block;padding-top:13px;padding-bottom:32px}.consonant-LeftFilters>button{display:flex}.consonant-LeftFilters-clearLink{display:block;transition:color .3s ease-in-out}.consonant-LeftFilters-clearLink:active,.consonant-LeftFilters-clearLink:hover{color:#1473e6}.consonant-LeftFilters-chosenFilters{display:flex}}.consonant-LeftFilter{position:relative;border-bottom:1px solid #eaeaea;outline:0;cursor:pointer}.consonant-LeftFilter:after{content:"";position:absolute;right:16px;top:0;bottom:0;margin:auto;width:8px;height:8px;border:2px solid #d3d3d3;transform:rotate(-135deg);border-top:0;border-right:0;pointer-events:none}.consonant-LeftFilter:last-of-type{border-bottom:0}.consonant-LeftFilter-inner{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:100%;max-width:100%;max-height:90vh;background-color:#fff;border-radius:5px}.consonant-LeftFilter-name{display:flex;align-items:center;margin:0}.consonant-LeftFilter-name img{display:block;max-width:16px;height:auto;max-height:16px;margin-right:6px}.consonant-LeftFilter-link{display:block;width:100%;max-width:100%;padding-top:17px;padding-bottom:17px;padding-right:36px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.1875rem;font-weight:700;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-transform:capitalize;text-decoration:none;background-color:transparent;outline:0;cursor:pointer;border:1px solid transparent}.consonant-LeftFilter-link:focus{border-color:#1492e6}.consonant-LeftFilter-selectedItemsQty{position:relative;display:block;margin-top:4px;padding-right:18px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#959595;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-LeftFilter-selectedItemsQty:after{position:absolute;right:12px;content:attr(data-qty);font-weight:700;background-color:#fff}.consonant-LeftFilter-selectedItemsQty:empty{display:none}.consonant-LeftFilter-itemBadge{display:none;position:absolute;min-width:24px;max-width:100px;height:24px;padding:5px 7px;top:12px;right:30px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:.875rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:15px;background-color:#1473e6;z-index:1;opacity:1;border:0;outline:0;transition:opacity .3s ease-in-out;transition-delay:.1s;overflow:hidden}.consonant-LeftFilter-itemBadge:focus{outline:0}@media only screen and (min-width:1200px){.consonant-LeftFilter-itemBadge:focus{outline:2px solid #1492e6}}.consonant-LeftFilter-itemBadge:hover{font-size:0;line-height:0}.consonant-LeftFilter-itemBadge:after,.consonant-LeftFilter-itemBadge:before{content:"";position:absolute;width:10px;height:2px;top:0;bottom:0;left:0;right:0;margin:auto;background-color:#fff;z-index:1;opacity:0;transition:opacity .3s ease-in-out;transition-delay:.1s;transform:rotate(45deg)}.consonant-LeftFilter-itemBadge:after{transform:rotate(-45deg)}.consonant-LeftFilter-itemBadge:hover:after,.consonant-LeftFilter-itemBadge:hover:before{opacity:1}.consonant-LeftFilter-items{display:none;height:50vh;margin:auto 0 0;padding:0;list-style-type:none;border-top:1px solid #eaeaea;overflow-y:auto}.consonant-LeftFilter-itemsItem{display:flex;align-items:baseline;transition:background-color .3s ease-in-out}.consonant-LeftFilter-itemsItem:hover{background-color:#f4f4f4}.consonant-LeftFilter-itemsItem:nth-of-type(n+10):last-of-type{margin-bottom:32px}.consonant-LeftFilter-itemsItemLabel{position:relative;display:flex;align-items:center;width:100%;max-width:100%;padding:8px 20px 6px;cursor:pointer}.consonant-LeftFilter input[type=checkbox]{width:0;height:0;max-width:0;max-height:0;margin:0;padding:0;opacity:0;border:0;outline:0}input[type=checkbox]:checked+.consonant-LeftFilter-itemsItemCheckmark{background-color:#2680eb;border-color:#2680eb}input[type=checkbox]:checked+.consonant-LeftFilter-itemsItemCheckmark:after{display:block}input[type=checkbox]:focus+.consonant-LeftFilter-itemsItemCheckmark{border-color:#1492e6}.consonant-LeftFilter-itemsItemCheckmark{position:relative;display:block;min-width:14px;width:14px;height:14px;margin-right:10px;border:2px solid #959595;border-radius:3px;transition:border-color .3s ease-in-out,background-color .3s ease-in-out;pointer-events:none}.consonant-LeftFilter-itemsItemCheckmark:after{display:none;content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;border-radius:2px;transform:rotate(-45deg) translate3d(1px,0,0)}.consonant-LeftFilter-itemsItemName{padding-bottom:1px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.1875rem;font-weight:400;color:#505050;font-style:normal;text-align:left;word-break:break-word;pointer-events:none}.consonant-LeftFilter-footer{display:none;margin-top:auto;align-items:center;padding:16px;border-top:1px solid #eaeaea}.consonant-LeftFilter-footerResQty{margin-right:auto;color:#505050;text-transform:capitalize}.consonant-LeftFilter-footerClearBtn,.consonant-LeftFilter-footerResQty{display:block;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;font-style:normal;word-break:break-word;text-align:left}.consonant-LeftFilter-footerClearBtn{margin-right:17px;padding:0;color:#1473e6;background-color:transparent;border:0;outline:0}.consonant-LeftFilter-footerClearBtn:focus{box-shadow:0 2px 0 0 #1492e6}.consonant-LeftFilter-footerClearBtn+.consonant-LeftFilter-footerBtn{margin-left:0}.consonant-LeftFilter-footerBtn{min-width:71px;margin-left:auto;padding:8px 16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:center;text-transform:capitalize;background-color:#1473e6;border-radius:20px;border:0;outline:0;position:relative}.consonant-LeftFilter-footerBtn:focus:after{border-radius:18px;content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;margin:-2px;transition:box-shadow .13s ease-out,margin .13s ease-out;box-shadow:0 0 0 2px #1492e6}.consonant-LeftFilter.is-opened{position:fixed;display:flex;justify-content:center;align-items:center;width:100%;max-width:100%;padding-left:20px;padding-right:20px;top:0;bottom:0;left:0;right:0;margin:auto;z-index:4;background-color:rgba(80,80,80,.8)}.consonant-LeftFilter.is-opened:after{display:none}.consonant-LeftFilter.is-opened .consonant-LeftFilter-inner{position:relative;box-shadow:0 3px 15px rgba(80,80,80,.8);border:1px solid #eaeaea;border-radius:4px}.consonant-LeftFilter.is-opened .consonant-LeftFilter-inner:after{content:"";position:absolute;display:block;width:100%;max-width:100%;height:33px;bottom:65px;left:0;right:0;background:transparent linear-gradient(180deg,hsla(0,0%,100%,.8),#fff) no-repeat 0 0;z-index:1;pointer-events:none}.consonant-LeftFilter.is-opened .consonant-LeftFilter-footer{display:flex}.consonant-LeftFilter.is-opened .consonant-LeftFilter-items{display:block}.consonant-LeftFilter.is-opened .consonant-LeftFilter-selectedItemsQty{display:none}.consonant-LeftFilter.is-opened .consonant-LeftFilter-name{padding-left:20px}@media only screen and (min-width:768px){.consonant-LeftFilter.is-opened .consonant-LeftFilter-inner{max-width:70vw;margin-left:auto;margin-right:auto}}@media only screen and (min-width:1200px){.consonant-LeftFilter:after{display:block;right:13px;border-color:#bcbcbc;transform:rotate(-45deg)}.consonant-LeftFilter-inner{border-radius:0;background-color:transparent}.consonant-LeftFilter-items{min-height:0;max-height:100%;height:auto;padding-top:12px;border-color:transparent;overflow-y:auto}.consonant-LeftFilter-itemsItemLabel{padding:6px 8px}input[type=checkbox]:focus+.consonant-LeftFilter-itemsItemCheckmark{outline:2px solid #1492e6}.consonant-LeftFilter-itemsItem:nth-of-type(n+10):last-of-type{margin-bottom:0}.consonant-LeftFilter-itemsItemName{font-size:.875rem;line-height:1rem}.consonant-LeftFilter-footer{display:none}.consonant-LeftFilter-link{padding-top:14px;padding-bottom:14px;font-size:.875rem;line-height:1rem;word-break:break-word;transition:color .3s ease-in-out;border:2px solid transparent}.consonant-LeftFilter-link:hover{color:#707070}.consonant-LeftFilter-link:focus{border-color:#1492e6}.consonant-LeftFilter-itemBadge{display:block}.consonant-LeftFilter-selectedItemsQty{display:none}.consonant-LeftFilter.is-opened{position:relative;padding:0;background-color:transparent;border-bottom-color:transparent}.consonant-LeftFilter.is-opened:after{display:block;top:24px;bottom:auto;border-color:#959595;transform:rotate(135deg)}.consonant-LeftFilter.is-opened .consonant-LeftFilter-inner{min-height:0;max-height:none;max-width:100%;margin-left:0;margin-right:0;overflow:hidden;box-shadow:none;border:0}.consonant-LeftFilter.is-opened .consonant-LeftFilter-inner:after{display:none}.consonant-LeftFilter.is-opened .consonant-LeftFilter-name{padding-left:0}.consonant-LeftFilter.is-opened .consonant-LeftFilter-name img{display:block;position:relative;top:4px}.consonant-LeftFilter.is-opened .consonant-LeftFilter-link{padding-right:36px;color:#707070}.consonant-LeftFilter.is-opened .consonant-LeftFilter-items{padding-top:4px}.consonant-LeftFilter.is-opened .consonant-LeftFilter-footer{display:none}}.consonant-ChosenFilter{position:relative;max-width:50vw;margin-right:7px;margin-bottom:8px;padding:0 17px 0 8px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.375rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;text-overflow:ellipsis;white-space:nowrap;background-color:transparent;border:1px solid #959595;border-radius:4px;outline:0;overflow:hidden}.consonant-ChosenFilter:after,.consonant-ChosenFilter:before{content:"";position:absolute;top:0;bottom:0;margin:auto;right:8px;width:7px;height:1px;background-color:#959595;transform:rotate(45deg)}.consonant-ChosenFilter:after{transform:rotate(-45deg)}.consonant-ChosenFilter:focus{outline:0}@media only screen and (min-width:1200px){.consonant-ChosenFilter:focus{outline:2px solid #1492e6}}.consonant-Card{background-color:#fff;width:100%;max-width:100%;padding-bottom:7px;text-align:left;border:1px solid #eaeaea;border-radius:4px;overflow:hidden;margin:0 auto}.consonant-Card,.consonant-Card-content{position:relative;display:flex;flex-direction:column}.consonant-Card-content{flex-grow:1;padding:20px 24px 24px;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.consonant-Card-title{margin:0 0 7px;-webkit-line-clamp:2;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#323232;text-decoration:none}.consonant-Card-text,.consonant-Card-title{display:-webkit-box;-webkit-box-orient:vertical;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-style:normal;text-align:left;word-break:break-word;overflow:hidden}.consonant-Card-text{margin:0 0 14px;padding:0;-webkit-line-clamp:3;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#747474}.consonant-Card-text:empty{display:none}.consonant-Card-label+.consonant-Card-title+p{max-height:4rem;line-height:1rem}.consonant-Card .consonant-BtnInfobit:first-child{margin-left:0}.consonant-Card .consonant-CardFooter--divider:last-child{padding-top:20px}.consonant-Card.consonant-hide-cta .consonant-OneHalfCard-title+p{max-height:none;-webkit-line-clamp:7;margin:0}.consonant-Card.consonant-u-noBorders{border:0}.consonant-Card:focus{border:2px;border-color:#1492e6}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.consonant-Card{flex-grow:0;flex-shrink:0;flex-basis:300px}}@media only screen and (min-width:768px){.consonant-Card{padding-bottom:0}.consonant-Card-content{padding-bottom:24px}}.consonant-CardsGrid .consonant-Card.one-half:hover{box-shadow:0 3px 6px 0 rgba(0,0,0,.16);transition:box-shadow .3s ease-in-out}.consonant-CardsGrid .consonant-Card.one-half [class*=-header]{position:relative}.consonant-CardsGrid .consonant-Card.one-half [class*=-header]:after{position:absolute;content:"";top:0;bottom:0;left:0;right:0;margin:auto;z-index:0;background-color:rgba(0,0,0,.35);opacity:0;transition:opacity .3s ease-in-out}.consonant-CardsGrid .consonant-Card.one-half:hover [class*=-header]:after{opacity:1}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header{position:relative;width:100%;height:213px;background-color:#eaeaea;background-position:50% 50%;background-repeat:no-repeat;background-size:cover;border-top-left-radius:4px;border-top-right-radius:4px;overflow:hidden}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:70%;top:24px;right:0;padding:8px 13px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:1;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-badge{position:absolute;display:block;max-width:36%;max-height:50%;top:24px;left:24px;padding:4px 11px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;border:1px solid #959595;border-radius:4px;background-color:#fff;overflow-y:auto;z-index:1}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-logo{position:absolute;display:block;bottom:16px;left:0;padding:7px 24px;border:1px solid transparent;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#fff;z-index:1;font-size:0;line-height:0}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header .consonant-Card-logo img{width:auto;height:auto;max-width:90px;max-height:32px;object-fit:contain;user-select:none}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header button.consonant-Card-videoButton-wrapper{width:100%;height:100%;background-color:transparent}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header button.consonant-Card-videoButton-wrapper .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header button.consonant-Card-videoButton-wrapper .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header button.consonant-Card-videoButton-wrapper .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-header button.consonant-Card-videoButton-wrapper .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.one-half .consonant-Card-label{display:block;max-width:100%;margin-bottom:4px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-decoration:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-CardsGrid--2up .consonant-Card.one-half,.consonant-CardsGrid--3up .consonant-Card.one-half{min-height:448px}.consonant-CardsGrid--4up .consonant-Card.one-half{height:auto}.consonant-CardsGrid--4up .consonant-Card.one-half .consonant-Card-header{min-height:192px;max-height:192px}.consonant-CardsGrid--4up .consonant-Card.one-half .consonant-Card-content,.consonant-CardsGrid--5up .consonant-Card.one-half .consonant-Card-content{padding:16px 16px 20px}.consonant-CardsGrid .consonant-Card.three-fourths{height:448px}.consonant-CardsGrid .consonant-Card.three-fourths:hover{box-shadow:0 3px 6px 0 rgba(0,0,0,.16);transition:box-shadow .3s ease-in-out}.consonant-CardsGrid .consonant-Card.three-fourths [class*=-header]{position:relative}.consonant-CardsGrid .consonant-Card.three-fourths [class*=-header]:after{position:absolute;content:"";top:0;bottom:0;left:0;right:0;margin:auto;z-index:0;background-color:rgba(0,0,0,.35);opacity:0;transition:opacity .3s ease-in-out}.consonant-CardsGrid .consonant-Card.three-fourths:hover [class*=-header]:after{opacity:1}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-header{background-color:#eaeaea;height:316px;overflow:hidden;position:relative;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-header button.consonant-Card-videoButton-wrapper{width:100%;height:100%;background-color:transparent}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-logo{position:absolute;display:block;bottom:16px;left:0;padding:7px 24px;border:1px solid transparent;border-top-right-radius:4px;border-bottom-right-radius:4px;z-index:1;background-color:#fff;font-size:0;line-height:0}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-logo img{width:auto;height:auto;max-width:90px;max-height:32px;object-fit:contain;user-select:none}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label{display:block;max-width:100%;max-height:1rem;margin-bottom:4px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-decoration:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label:empty{display:none}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-content{padding:20px 20px 24px}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title{margin:0 0 7px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#323232;font-style:normal;text-align:left;text-decoration:none;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title:only-child{max-height:5.5rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-title:empty{display:none}.consonant-Card-label+.consonant-CardsGrid .consonant-Card.three-fourths-title:last-child{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-text{margin:0;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-text:empty{display:none}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-text:only-child{max-height:5rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label+.consonant-Card-text:last-child{max-height:4rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-label+.consonant-Card-title+.consonant-Card-text{max-height:1rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:70%;top:24px;right:0;padding:8px 13px 7px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:1;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.three-fourths .consonant-Card-badge{position:absolute;display:block;max-width:36%;max-height:50%;top:24px;left:24px;padding:4px 11px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;border:1px solid #959595;border-radius:4px;background-color:#fff;overflow-y:auto;z-index:1}.consonant-CardsGrid--4up .consonant-Card.three-fourths .consonant-Card-title,.consonant-CardsGrid--5up .consonant-Card.three-fourths .consonant-Card-title{margin-bottom:0;max-height:2.75rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid--4up .consonant-Card.three-fourths .consonant-Card-title:first-child,.consonant-CardsGrid--5up .consonant-Card.three-fourths .consonant-Card-title:first-child{max-height:4.125rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.consonant-CardsGrid--4up .consonant-Card.three-fourths .consonant-Card-text,.consonant-CardsGrid--5up .consonant-Card.three-fourths .consonant-Card-text{display:none!important}.consonant-CardsGrid--4up .consonant-Card.three-fourths .consonant-Card-badge,.consonant-CardsGrid--5up .consonant-Card.three-fourths .consonant-Card-badge{position:absolute;display:block;max-width:36%;max-height:50%;top:24px;left:24px;padding:4px 11px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;border:1px solid #959595;border-radius:4px;background-color:#fff;overflow-y:auto;z-index:1}.consonant-CardsGrid--4up .consonant-Card.three-fourths{height:384px}.consonant-CardsGrid--4up .consonant-Card.three-fourths .consonant-Card-header{min-height:232px;height:276px}.consonant-CardsGrid--5up .consonant-Card.three-fourths{height:344px}.consonant-CardsGrid--5up .consonant-Card-header{min-height:232px;height:232px}.consonant-CardsGrid .consonant-Card.full-card{height:448px}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content{position:absolute;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;min-height:108px;margin-top:auto;padding:0 24px 24px;text-decoration:none;background:transparent linear-gradient(180deg,transparent,rgba(0,0,0,.501) 36%,rgba(0,0,0,.701)) 0 0 no-repeat padding-box;outline:0}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content:before{content:"";position:absolute;right:24px;bottom:32px;width:12px;height:12px;border:1px solid #fff;box-shadow:1px 1px 0 0 #fff;border-top:0;border-left:0;transform:rotate(-45deg)}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content:active,.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-content:hover{text-decoration:none}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header{position:absolute!important;width:100%;height:auto;max-height:none;background-color:#eaeaea;background-position:50% 50%;background-repeat:no-repeat;background-size:cover;z-index:0;top:0;bottom:0;left:0;right:0}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header img{min-width:100%;min-height:100%}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-header button.consonant-Card-videoButton-wrapper{width:100%;height:100%;background-color:transparent}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out;bottom:124px}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-logo{position:absolute;display:block;bottom:124px;left:0;padding:7px 24px;border:1px solid transparent;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#fff;z-index:3;font-size:0;line-height:0}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-logo img{width:auto;height:auto;max-width:90px;max-height:32px;object-fit:contain;user-select:none}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-label{display:block;max-width:100%;margin-bottom:5px;font-size:.875rem;line-height:1rem;font-weight:400;white-space:nowrap;text-overflow:ellipsis}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-label,.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-title{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;color:#fff;font-style:normal;word-break:break-word;text-align:left;text-decoration:none;overflow:hidden;z-index:1}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-title{margin:0;padding-right:24px;font-size:1.125rem;line-height:1.375rem;font-weight:700;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:70%;top:24px;right:0;padding:8px 13px 7px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:1;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.full-card .consonant-Card-badge{position:absolute;display:block;max-width:36%;max-height:50%;top:24px;left:24px;padding:4px 11px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;border:1px solid #959595;border-radius:4px;background-color:#fff;overflow-y:auto;z-index:1}.consonant-CardsGrid--4up .consonant-Card.full-card{height:384px}.consonant-CardsGrid--5up .consonant-Card.full-card{height:344px}.consonant-CardsGrid .consonant-Card.half-height{height:208px}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-header{z-index:0;height:100%;background-color:#eaeaea;background-position:50% 0;background-repeat:no-repeat;background-size:cover}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-header:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:transparent linear-gradient(180deg,rgba(0,0,0,.1) 10%,rgba(0,0,0,.8) 80%) 0 0 no-repeat;z-index:1;opacity:1}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-videoButton-wrapper{top:-118px;background:transparent;position:absolute;height:208px;left:0;right:0;z-index:2;width:100%}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out;top:75px;left:24px;right:auto}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-content{position:absolute;text-decoration:none;bottom:0;background-color:transparent;flex-direction:column-reverse;padding:8px 24px 32px}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title{margin:0 0 5px;max-height:3rem;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.25rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title :only-child{margin-bottom:0}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-label{display:block;max-height:1.3125rem;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#fff;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:31%;top:16px;right:0;padding:8px 13px 7px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:2;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card--labelTop .consonant-Card-content{flex-direction:column-reverse}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card--labelTop .consonant-Card-label{margin-bottom:8px}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card--labelTop .consonant-Card-label :only-child,.consonant-CardsGrid .consonant-Card.half-height .consonant-Card--labelTop .consonant-Card-title{margin-bottom:0}.consonant-CardsGrid .consonant-Card.half-height .consonant-Card.consonant-u-noBorders{border:0}@media only screen and (min-width:600px){.consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title{max-height:3.175rem;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left}}@media only screen and (min-width:1200px){.consonant-CardsGrid .consonant-Card.half-height{outline:0;position:relative}.consonant-CardsGrid .consonant-Card.half-height:focus:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;border:2px solid #1473e6;z-index:1}}.consonant-CardsGrid .consonant-Card.double-wide{min-width:300px;max-width:584px;height:448px}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-header{position:relative;height:306px;overflow:hidden;background-position:50% 0;background-repeat:no-repeat;background-size:cover}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content{flex-grow:1;display:flex;flex-direction:column;padding:16px 24px 28px;text-decoration:none;outline:0;width:100%}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content:active,.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content:hover{text-decoration:none}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content:empty{display:none}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-title{margin:0 0 5px;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#323232;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-title :only-child{margin-bottom:0}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-logo{position:absolute;display:block;bottom:16px;left:0;padding:7px 24px;border:1px solid transparent;border-top-right-radius:4px;border-bottom-right-radius:4px;background-color:#fff;z-index:1;font-size:0;line-height:0}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-logo img{width:auto;height:auto;max-width:90px;max-height:32px;object-fit:contain;user-select:none}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-label{display:block;margin-bottom:8px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-label :only-child{margin-bottom:0}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:70%;top:24px;right:0;padding:8px 13px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:1;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-text{margin:0;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card--contentTop{flex-direction:column-reverse}.consonant-Card--contentTop .consonant-CardsGrid .consonant-Card.double-wide-img{flex-grow:1}.consonant-Card--contentTop .consonant-CardsGrid .consonant-Card.double-wide-content{position:absolute;top:0;left:0;right:0;padding-top:24px;background-color:transparent;z-index:1}.consonant-Card--noTextInfo .consonant-CardsGrid .consonant-Card.double-wide-img{height:100%}.consonant-Card--noTextInfo .consonant-CardsGrid .consonant-Card.double-wide-content{display:none}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card.consonant-u-noBorders{border:0}@media only screen and (min-width:1200px){.consonant-CardsGrid .consonant-Card.double-wide{min-width:500px}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content{outline:0;position:relative}.consonant-CardsGrid .consonant-Card.double-wide .consonant-Card-content:focus:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;border:2px solid #1473e6;z-index:1}}@media only screen and (min-width:680px){.consonant-CardsGrid .consonant-Card.double-wide--2up .consonant-Card.double-wide{min-width:500px}.consonant-CardsGrid .consonant-Card.double-wide--3up .consonant-Card.double-wide,.consonant-CardsGrid .consonant-Card.double-wide--4up .consonant-Card.double-wide,.consonant-CardsGrid .consonant-Card.double-wide--5up .consonant-Card.double-wide{grid-template-columns:repeat(auto-fit,minmax(500px,max-content))}}.consonant-CardsGrid .consonant-Card.product{height:auto;min-height:222px}.consonant-CardsGrid .consonant-Card.product .consonant-Card-content{padding:16px 16px 20px}.consonant-CardsGrid .consonant-Card.product .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.product .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.product .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.product .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.product .consonant-Card-row{display:flex;flex-direction:row;margin-bottom:16px;align-items:center}.consonant-CardsGrid .consonant-Card.product .consonant-Card-title{flex:1;margin:6px 0 10px;text-decoration:none;word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-CardsGrid .consonant-Card.product .consonant-Card-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0 0 20px;padding:0;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;overflow:hidden}.consonant-CardsGrid .consonant-Card.product .consonant-Card-text:empty{display:none}.consonant-CardsGrid .consonant-Card.text-card{height:auto}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-content{padding:16px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding-bottom:24px}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-header{flex-grow:1;position:relative;width:100%;padding:16px 0 0 16px;height:64px;max-height:64px;border-top-left-radius:4px;border-top-right-radius:4px;background-image:none!important}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-videoIco{display:block;position:absolute;width:40px;height:40px;right:24px;bottom:16px;font-size:0;line-height:0;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%231473e6' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;background-size:cover;z-index:1;cursor:pointer;transform-origin:50% 50%;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-videoIco:active,.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-videoIco:hover{transform:scale(1.1);background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg data-name='40' xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cg data-name='Ellipse 20182' fill='%230059c2' stroke='%23fff' stroke-width='2'%3E%3Ccircle cx='20' cy='20' r='20' stroke='none'/%3E%3Ccircle cx='20' cy='20' r='19' fill='none'/%3E%3C/g%3E%3Cpath data-name='Path 356676' d='M15 10.833v18.333l13.333-9.167z' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0;transition:transform .3s ease-in-out}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-videoIco:focus{transform:scale(1.1);transition:transform .3s ease-in-out;outline:2px solid #1492e6}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-logo{display:block;width:48px;height:48px;overflow:hidden;background-size:cover;background-position:50%;border-radius:4px;font-size:0;line-height:0}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-logo img{width:48px;height:48px;object-fit:cover;user-select:none}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-label{display:none;max-width:100%;margin-bottom:4px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#505050;font-style:normal;word-break:break-word;text-align:left;text-decoration:none;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-title{margin:0 0 6px;-webkit-line-clamp:2;font-size:1.125rem;line-height:1.375rem;font-weight:700;color:#323232}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text,.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-style:normal;word-break:break-word;text-align:left}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text{margin:0 0 14px;padding:0;-webkit-line-clamp:3;font-size:.875rem;line-height:1.3125rem;font-weight:400;color:#747474}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-text:empty{display:none}.consonant-Card-label+.consonant-CardsGrid .consonant-Card.text-card-title+p{max-height:3rem;line-height:1rem}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-banner{position:absolute;display:flex;justify-content:flex-start;max-width:56%;max-height:70%;top:16px;right:0;padding:8px 13px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1.0625rem;font-weight:700;color:#fff;font-style:normal;word-break:break-word;text-align:left;letter-spacing:.72px;text-transform:uppercase;border-top-left-radius:4px;border-bottom-left-radius:4px;z-index:1;background-color:#1473e6;user-select:none;overflow-y:auto}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-bannerIconWrapper{margin-right:4px}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-bannerIconWrapper img{width:8px;height:8px}.consonant-CardsGrid .consonant-Card.text-card .consonant-Card-badge{position:absolute;display:block;max-width:36%;max-height:50%;top:24px;left:24px;padding:4px 11px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.75rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;border:1px solid #959595;border-radius:4px;background-color:#fff;overflow-y:auto;z-index:1}.consonant-CardsGrid .consonant-Card.text-card .consonant-DateIntervalInfobit{display:none}.consonant-CardsGrid .consonant-Card.text-card .consonant-BtnInfobit{margin-left:0}.consonant-CardsGrid .consonant-Card.icon-card{height:auto;background-color:#f8f8f8;border:1px solid #f8f8f8}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-content{padding:16px 16px 20px}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-header{flex-grow:1;position:relative;width:100%;padding:16px 0 0 16px;height:64px;max-height:64px;border-top-left-radius:4px;border-top-right-radius:4px;background-image:none!important}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-logo{display:block;width:48px;height:48px;overflow:hidden;background-size:cover;background-position:50%;border-radius:4px}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-logo img{width:48px;height:48px;object-fit:cover;user-select:none}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-label{max-width:100%;margin-bottom:4px;font-size:.875rem;line-height:1rem;font-weight:400;white-space:nowrap;text-overflow:ellipsis}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-label,.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-title{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;color:#2c2c2c;font-style:normal;word-break:break-word;text-align:left;text-decoration:none;overflow:hidden}.consonant-CardsGrid .consonant-Card.icon-card .consonant-Card-title{flex:1;margin:6px 0 10px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:1.125rem;line-height:1.375rem;font-weight:700}.consonant-LinkBlocker{position:absolute;top:0;left:0;display:block;background-color:transparent;width:100%;height:100%;cursor:pointer;z-index:1}.consonant-LinkBlocker:focus{border:2px solid #1492e6}.consonant-CardFooter{margin-top:auto;padding-top:24px}.consonant-CardFooter:not(:last-child){padding-top:0;padding-bottom:10px}.consonant-CardFooter+.consonant-CardFooter{margin-top:0;padding-top:10px}.consonant-CardFooter+.consonant-CardFooter:not(.consonant-CardFooter--divider){padding-top:0}.consonant-CardFooter--divider:last-child{border-top:1px solid #eaeaea}.consonant-CardFooter-row{display:flex;width:100%;justify-content:space-between;align-items:stretch;height:32px}.consonant-CardFooter-cell{display:flex;justify-content:flex-start;align-items:center;max-width:100%;flex-basis:auto;flex-grow:1}.consonant-CardFooter-cell:empty{display:none}.consonant-CardFooter-cell--left>:first-child{margin-left:0}.consonant-CardFooter-cell--center{justify-content:center}.consonant-CardFooter-cell--center:first-child:not(:only-child){justify-content:flex-start}.consonant-CardFooter-cell--center:first-child>:first-child{margin-left:0}.consonant-CardFooter-cell--right{justify-content:flex-end}.consonant-CardFooter-cell>:nth-of-type(n+11){display:none}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.consonant-CardFooter-cell{width:100%}}.consonant-CardFooter+.consonant-CardFooter~.consonant-CardFooter{display:none}span+h2+p+.consonant-CardFooter+.consonant-CardFooter{margin-bottom:-10px}[data-cells="3"]:not(.consonant-CardFooter-row--fluid) .consonant-CardFooter-cell{max-width:33.33333333%}[data-cells="2"]:not(.consonant-CardFooter-row--fluid) .consonant-CardFooter-cell{max-width:50%}[data-cells="1"]:not(.consonant-CardFooter-row--fluid) .consonant-CardFooter-cell{max-width:100%}[data-cells="0"]:not(.consonant-CardFooter-row--fluid) .consonant-CardFooter-cell{max-width:Infinity%}.consonant-BtnInfobit{display:flex;justify-content:center;align-items:center;min-width:76px;max-width:100%;height:32px;max-height:32px;margin-left:16px;padding-left:16px;padding-right:16px;text-decoration:none;border:2px solid #505050;border-radius:16px;background-color:#fff;cursor:pointer;transition:border-color .3s ease-in-out,background-color .3s ease-in-out}.consonant-BtnInfobit span{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.8235rem;line-height:.9375rem;font-weight:700;color:#505050;font-style:normal;word-break:break-word;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;transition:color .3s ease-in-out}.consonant-BtnInfobit:hover{text-decoration:none!important;border-color:#505050;background-color:#505050}.consonant-BtnInfobit:hover span{color:#fff}.consonant-BtnInfobit:active{text-decoration:none!important;border-color:#323232;background-color:#323232}.consonant-BtnInfobit:active span{color:#fff}.consonant-BtnInfobit:focus{outline:0}@media only screen and (min-width:1200px){.consonant-BtnInfobit:focus{outline:2px solid #1492e6}}.consonant-BtnInfobit--cta{background-color:#2680eb;border-color:#2680eb}.consonant-BtnInfobit--cta span{color:#fff}.consonant-BtnInfobit--cta:hover{text-decoration:none!important;background-color:#1473e6;border-color:#1473e6}.consonant-BtnInfobit--cta:hover span{color:#fff}.consonant-BtnInfobit--cta:active{text-decoration:none!important;background-color:#0d66d0;border-color:#0d66d0}.consonant-BtnInfobit--cta:active span{color:#fff}.consonant-BtnInfobit-ico{width:auto;height:auto;max-width:24px;max-height:24px;margin-right:8px;overflow:hidden;object-fit:cover;user-select:none}.consonant-BtnInfobit-ico--last{order:1;margin-left:8px;margin-right:0}.consonant-BtnInfobit-ico:only-child{margin:0}.consonant-PriceInfobit{display:flex;justify-content:flex-start;align-items:baseline;min-width:0;max-width:100%;margin-left:16px}.consonant-PriceInfobit-price{max-width:100%;flex-shrink:0;font-size:1.125rem;color:#323232}.consonant-PriceInfobit-price,.consonant-PriceInfobit-term{font-family:adobe-clean,Segoe UI,Roboto,sans-serif;line-height:1.6875rem;font-weight:400;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-PriceInfobit-term{position:relative;flex-shrink:1;font-size:.875rem;color:#959595}.consonant-PriceInfobit-term:before{content:"/"}.consonant-IconWithTextInfobit{display:flex;justify-content:flex-start;align-items:center;min-width:0;max-width:100%;margin-left:16px}.consonant-IconWithTextInfobit img{display:block;width:auto;height:auto;max-width:80px;max-height:22px;margin-right:4px;object-fit:contain;user-select:none}.consonant-IconWithTextInfobit-text{max-width:100%;max-height:2rem;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-LinkWithIcoInfobit{display:flex;justify-content:flex-start;align-items:center;min-width:0;max-width:100%;margin-left:16px;text-decoration:none}.consonant-LinkWithIcoInfobit:focus{outline:0}@media only screen and (min-width:1200px){.consonant-LinkWithIcoInfobit:focus{outline:2px solid #1492e6}}.consonant-LinkWithIcoInfobit span{max-width:100%;max-height:2rem;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1rem;font-weight:700;color:#2680eb;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.consonant-LinkWithIcoInfobit:hover span{text-decoration:none;color:#1473e6}.consonant-LinkWithIcoInfobit:active span{text-decoration:none;color:#0d66d0}.consonant-LinkWithIcoInfobit img{display:block;width:18px;height:auto;max-width:18px;max-height:18px;object-fit:contain;user-select:none}.consonant-LinkWithIcoInfobit img:not(:last-child){margin-right:8px}.consonant-RatingInfobit{display:flex;justify-content:flex-start;align-items:center;max-width:100%;margin-left:16px}.consonant-RatingInfobit--negMargin{margin-right:-24px}.consonant-RatingInfobit-stars{display:block;position:relative;height:15px;max-width:100%;white-space:nowrap}.consonant-RatingInfobit-stars:before{content:"";display:block;position:relative;height:15px;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg id='Layer_1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:none}.st1{fill:%23d3d3d3}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st1' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 0;background-size:17px 15px;z-index:1;overflow:hidden}.consonant-RatingInfobit-stars:after{content:"";display:block;position:absolute;height:15px;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' id='Layer_1' viewBox='0 0 17 15'%3E%3Cstyle%3E.st0{fill:%231473e6}%3C/style%3E%3Cg id='Shape'%3E%3Cpath class='st0' d='M8.6.7c-.1 0-.3.1-.3.2L6.4 5.7l-5.2.2c-.2 0-.3.2-.3.4 0 .1 0 .2.1.2l4 3.2-1.4 5c0 .2.1.3.2.4h.1c.1 0 .1 0 .2-.1l4.3-2.8 4.3 2.8c.1.1.3.1.4-.1 0-.1.1-.2 0-.3l-1.4-5 4-3.2c.1-.1.2-.3 0-.4.3 0 .2-.1.1-.1l-5.2-.2L8.9.9C8.8.8 8.7.7 8.6.7z' transform='translate(-.029 -.412)'/%3E%3Cpath class='st0' d='M8.6 2.2L7.1 6l-.2.4h-.5l-4 .2 3.2 2.5.4.3-.2.5-1.1 3.9 3.4-2.2.4-.3.4.3 3.4 2.2-1.1-3.9-.1-.5.4-.3 3.2-2.5-4-.2h-.5L10 6 8.6 2.2m0-1.5c.1 0 .2.1.3.2l1.8 4.8 5.2.2c.1 0 .2.1.3.2 0 .1 0 .3-.1.3l-4 3.2 1.4 5v.1c0 .1-.1.2-.2.3h-.2c-.1 0-.1 0-.2-.1l-4.3-2.8-4.3 2.8c-.1 0-.1.1-.2.1H4c-.1 0-.2-.1-.2-.1 0-.1-.1-.2 0-.2l1.4-5L1 6.5c-.1-.1-.1-.2-.1-.3.1-.2.2-.3.3-.3l5.2-.2L8.3.9c0-.1.1-.2.3-.2z' transform='translate(-.029 -.412)'/%3E%3C/g%3E%3C/svg%3E") repeat-x 0 0;background-size:17px 15px;z-index:2;left:0;top:0;bottom:0;overflow:hidden}.consonant-RatingInfobit-text{max-width:35%;margin-left:7px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.375rem;font-weight:400;color:#959595;font-style:normal;word-break:break-word;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.consonant-RatingInfobit[data-stars="5"]{min-width:109px}.consonant-RatingInfobit[data-stars="5"] .consonant-RatingInfobit-stars:before{width:85px}.consonant-RatingInfobit[data-stars="4"]{min-width:92px}.consonant-RatingInfobit[data-stars="4"] .consonant-RatingInfobit-stars:before{width:68px}.consonant-RatingInfobit[data-stars="3"]{min-width:75px}.consonant-RatingInfobit[data-stars="3"] .consonant-RatingInfobit-stars:before{width:51px}.consonant-RatingInfobit[data-stars="2"]{min-width:58px}.consonant-RatingInfobit[data-stars="2"] .consonant-RatingInfobit-stars:before{width:34px}.consonant-RatingInfobit[data-stars="1"]{min-width:41px}.consonant-RatingInfobit[data-stars="1"] .consonant-RatingInfobit-stars:before{width:17px}.consonant-RatingInfobit-stars[data-rating="100"]:after{width:100%}.consonant-RatingInfobit-stars[data-rating="99"]:after{width:99%}.consonant-RatingInfobit-stars[data-rating="98"]:after{width:98%}.consonant-RatingInfobit-stars[data-rating="97"]:after{width:97%}.consonant-RatingInfobit-stars[data-rating="96"]:after{width:96%}.consonant-RatingInfobit-stars[data-rating="95"]:after{width:95%}.consonant-RatingInfobit-stars[data-rating="94"]:after{width:94%}.consonant-RatingInfobit-stars[data-rating="93"]:after{width:93%}.consonant-RatingInfobit-stars[data-rating="92"]:after{width:92%}.consonant-RatingInfobit-stars[data-rating="91"]:after{width:91%}.consonant-RatingInfobit-stars[data-rating="90"]:after{width:90%}.consonant-RatingInfobit-stars[data-rating="89"]:after{width:89%}.consonant-RatingInfobit-stars[data-rating="88"]:after{width:88%}.consonant-RatingInfobit-stars[data-rating="87"]:after{width:87%}.consonant-RatingInfobit-stars[data-rating="86"]:after{width:86%}.consonant-RatingInfobit-stars[data-rating="85"]:after{width:85%}.consonant-RatingInfobit-stars[data-rating="84"]:after{width:84%}.consonant-RatingInfobit-stars[data-rating="83"]:after{width:83%}.consonant-RatingInfobit-stars[data-rating="82"]:after{width:82%}.consonant-RatingInfobit-stars[data-rating="81"]:after{width:81%}.consonant-RatingInfobit-stars[data-rating="80"]:after{width:80%}.consonant-RatingInfobit-stars[data-rating="79"]:after{width:79%}.consonant-RatingInfobit-stars[data-rating="78"]:after{width:78%}.consonant-RatingInfobit-stars[data-rating="77"]:after{width:77%}.consonant-RatingInfobit-stars[data-rating="76"]:after{width:76%}.consonant-RatingInfobit-stars[data-rating="75"]:after{width:75%}.consonant-RatingInfobit-stars[data-rating="74"]:after{width:74%}.consonant-RatingInfobit-stars[data-rating="73"]:after{width:73%}.consonant-RatingInfobit-stars[data-rating="72"]:after{width:72%}.consonant-RatingInfobit-stars[data-rating="71"]:after{width:71%}.consonant-RatingInfobit-stars[data-rating="70"]:after{width:70%}.consonant-RatingInfobit-stars[data-rating="69"]:after{width:69%}.consonant-RatingInfobit-stars[data-rating="68"]:after{width:68%}.consonant-RatingInfobit-stars[data-rating="67"]:after{width:67%}.consonant-RatingInfobit-stars[data-rating="66"]:after{width:66%}.consonant-RatingInfobit-stars[data-rating="65"]:after{width:65%}.consonant-RatingInfobit-stars[data-rating="64"]:after{width:64%}.consonant-RatingInfobit-stars[data-rating="63"]:after{width:63%}.consonant-RatingInfobit-stars[data-rating="62"]:after{width:62%}.consonant-RatingInfobit-stars[data-rating="61"]:after{width:61%}.consonant-RatingInfobit-stars[data-rating="60"]:after{width:60%}.consonant-RatingInfobit-stars[data-rating="59"]:after{width:59%}.consonant-RatingInfobit-stars[data-rating="58"]:after{width:58%}.consonant-RatingInfobit-stars[data-rating="57"]:after{width:57%}.consonant-RatingInfobit-stars[data-rating="56"]:after{width:56%}.consonant-RatingInfobit-stars[data-rating="55"]:after{width:55%}.consonant-RatingInfobit-stars[data-rating="54"]:after{width:54%}.consonant-RatingInfobit-stars[data-rating="53"]:after{width:53%}.consonant-RatingInfobit-stars[data-rating="52"]:after{width:52%}.consonant-RatingInfobit-stars[data-rating="51"]:after{width:51%}.consonant-RatingInfobit-stars[data-rating="50"]:after{width:50%}.consonant-RatingInfobit-stars[data-rating="49"]:after{width:49%}.consonant-RatingInfobit-stars[data-rating="48"]:after{width:48%}.consonant-RatingInfobit-stars[data-rating="47"]:after{width:47%}.consonant-RatingInfobit-stars[data-rating="46"]:after{width:46%}.consonant-RatingInfobit-stars[data-rating="45"]:after{width:45%}.consonant-RatingInfobit-stars[data-rating="44"]:after{width:44%}.consonant-RatingInfobit-stars[data-rating="43"]:after{width:43%}.consonant-RatingInfobit-stars[data-rating="42"]:after{width:42%}.consonant-RatingInfobit-stars[data-rating="41"]:after{width:41%}.consonant-RatingInfobit-stars[data-rating="40"]:after{width:40%}.consonant-RatingInfobit-stars[data-rating="39"]:after{width:39%}.consonant-RatingInfobit-stars[data-rating="38"]:after{width:38%}.consonant-RatingInfobit-stars[data-rating="37"]:after{width:37%}.consonant-RatingInfobit-stars[data-rating="36"]:after{width:36%}.consonant-RatingInfobit-stars[data-rating="35"]:after{width:35%}.consonant-RatingInfobit-stars[data-rating="34"]:after{width:34%}.consonant-RatingInfobit-stars[data-rating="33"]:after{width:33%}.consonant-RatingInfobit-stars[data-rating="32"]:after{width:32%}.consonant-RatingInfobit-stars[data-rating="31"]:after{width:31%}.consonant-RatingInfobit-stars[data-rating="30"]:after{width:30%}.consonant-RatingInfobit-stars[data-rating="29"]:after{width:29%}.consonant-RatingInfobit-stars[data-rating="28"]:after{width:28%}.consonant-RatingInfobit-stars[data-rating="27"]:after{width:27%}.consonant-RatingInfobit-stars[data-rating="26"]:after{width:26%}.consonant-RatingInfobit-stars[data-rating="25"]:after{width:25%}.consonant-RatingInfobit-stars[data-rating="24"]:after{width:24%}.consonant-RatingInfobit-stars[data-rating="23"]:after{width:23%}.consonant-RatingInfobit-stars[data-rating="22"]:after{width:22%}.consonant-RatingInfobit-stars[data-rating="21"]:after{width:21%}.consonant-RatingInfobit-stars[data-rating="20"]:after{width:20%}.consonant-RatingInfobit-stars[data-rating="19"]:after{width:19%}.consonant-RatingInfobit-stars[data-rating="18"]:after{width:18%}.consonant-RatingInfobit-stars[data-rating="17"]:after{width:17%}.consonant-RatingInfobit-stars[data-rating="16"]:after{width:16%}.consonant-RatingInfobit-stars[data-rating="15"]:after{width:15%}.consonant-RatingInfobit-stars[data-rating="14"]:after{width:14%}.consonant-RatingInfobit-stars[data-rating="13"]:after{width:13%}.consonant-RatingInfobit-stars[data-rating="12"]:after{width:12%}.consonant-RatingInfobit-stars[data-rating="11"]:after{width:11%}.consonant-RatingInfobit-stars[data-rating="10"]:after{width:10%}.consonant-RatingInfobit-stars[data-rating="9"]:after{width:9%}.consonant-RatingInfobit-stars[data-rating="8"]:after{width:8%}.consonant-RatingInfobit-stars[data-rating="7"]:after{width:7%}.consonant-RatingInfobit-stars[data-rating="6"]:after{width:6%}.consonant-RatingInfobit-stars[data-rating="5"]:after{width:5%}.consonant-RatingInfobit-stars[data-rating="4"]:after{width:4%}.consonant-RatingInfobit-stars[data-rating="3"]:after{width:3%}.consonant-RatingInfobit-stars[data-rating="2"]:after{width:2%}.consonant-RatingInfobit-stars[data-rating="1"]:after{width:1%}.consonant-RatingInfobit-stars[data-rating="0"]:after{width:0}.consonant-RatingInfobit-stars[data-rating="0"]:after,.consonant-RatingInfobit-stars[data-rating="1"]:after,.consonant-RatingInfobit-stars[data-rating="2"]:after,.consonant-RatingInfobit-stars[data-rating="3"]:after,.consonant-RatingInfobit-stars[data-rating="4"]:after,.consonant-RatingInfobit-stars[data-rating="5"]:after,.consonant-RatingInfobit-stars[data-rating="6"]:after,.consonant-RatingInfobit-stars[data-rating="7"]:after,.consonant-RatingInfobit-stars[data-rating="8"]:after,.consonant-RatingInfobit-stars[data-rating="9"]:after,.consonant-RatingInfobit-stars[data-rating="10"]:after,.consonant-RatingInfobit-stars[data-rating="11"]:after,.consonant-RatingInfobit-stars[data-rating="12"]:after,.consonant-RatingInfobit-stars[data-rating="13"]:after,.consonant-RatingInfobit-stars[data-rating="14"]:after,.consonant-RatingInfobit-stars[data-rating="15"]:after,.consonant-RatingInfobit-stars[data-rating="16"]:after,.consonant-RatingInfobit-stars[data-rating="17"]:after,.consonant-RatingInfobit-stars[data-rating="18"]:after,.consonant-RatingInfobit-stars[data-rating="19"]:after,.consonant-RatingInfobit-stars[data-rating="20"]:after{background-size:cover}.consonant-BookmarkInfobit{margin-left:16px;padding:0;font-size:0;line-height:0;border:0;outline:0;background-color:transparent}.consonant-BookmarkInfobit:focus{outline:0}@media only screen and (min-width:1200px){.consonant-BookmarkInfobit:focus{outline:2px solid #1492e6}}.consonant-BookmarkInfobit.is-active .consonant-BookmarkInfobit-ico{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' stroke='%23747474' fill='%23747474' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E")}.consonant-BookmarkInfobit.is-disabled{pointer-events:none;opacity:.5}.consonant-BookmarkInfobit-ico{display:block;width:19px;height:17px;background:transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 18'%3E%3Cpath stroke-width='1.5' fill='%23fff' stroke='%23747474' d='M13.6.6c-1.7.1-3.3 1-4.1 2.5C8.6 1.6 7.1.7 5.5.6c-2.8 0-5 2.2-5 5 0 4.7 9 10.8 9 10.8s9-6 9-10.8c0-2.7-2.1-5-4.9-5z'/%3E%3C/svg%3E") no-repeat 50% 50%;background-size:contain}.consonant-DateIntervalInfobit{display:block;min-width:0;max-width:100%;max-height:2rem;margin-left:16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal;text-overflow:clip;overflow:hidden}.consonant-ProgressInfobit{min-width:0;max-width:100%;width:100%;margin-left:16px}.consonant-ProgressInfobit-wrapper{display:flex;justify-content:space-between;align-self:flex-start;margin-bottom:5px}.consonant-ProgressInfobit-text{display:block;max-width:100%;padding-right:8px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.375rem;font-weight:700;color:#747474;font-style:normal;word-break:break-word;text-align:left;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.14px;overflow:hidden}.consonant-ProgressInfobit-text:last-of-type{padding-right:0}.consonant-ProgressInfobit-text--italic{font-style:italic}.consonant-ProgressInfobit-el{position:relative;width:100%;height:5px;background-color:#fff;border:1px solid #d3d3d3;border-radius:5px}.consonant-ProgressInfobit-val{position:absolute;top:-1px;bottom:-1px;left:-1px;z-index:1;border-radius:5px;font-size:0;line-height:0}.consonant-TextInfobit{min-width:0;max-width:100%;max-height:2rem;margin:0 0 0 16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1rem;font-weight:400;color:#747474;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}img+.consonant-TextInfobit{margin-left:4px}.consonant-IconInfobit{display:block;min-width:14px;width:auto;height:auto;max-width:28px;max-height:28px;margin-left:16px;object-fit:contain;user-select:none}.consonant-IconInfobit+.consonant-IconInfobit{margin-left:12px}.consonant-LinkInfobit{min-width:0;max-width:100%;max-height:2rem;margin-left:16px;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1.375rem;font-weight:700;color:#3b63fb;font-style:normal;word-break:break-word;text-align:left;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;transition:color .3s ease-in-out}.consonant-LinkInfobit:hover{color:#1473e6}.consonant-LinkInfobit:active{color:#0d66d0}.consonant-LinkInfobit:focus{outline:0}@media only screen and (min-width:1200px){.consonant-LinkInfobit:focus{outline:2px solid #1492e6}}:not(:last-of-type):nth-child(2)>.consonant-LinkInfobit:only-child{margin-right:0}.Categories .consonant-TopFilters-categoriesTitle{text-align:center;font-size:30px;font-weight:700;font-family:adobe-clean,Segoe UI,Roboto,sans-serif;margin-bottom:32px;color:#2c2c2c}.Categories .consonant-TopFilters-collectionTitle{display:none}.Categories .filters-category{text-align:center;margin-bottom:30px;display:flex;overflow-x:auto;justify-content:left}.Categories .filters-category button{border-radius:24px;background:#909090;color:#fff;font-weight:700;font-size:16px;height:48px;margin:0 6px;padding:12px 20px 13px 18px;display:flex;white-space:nowrap;align-items:center;font-family:adobe-clean,Segoe UI,Roboto,sans-serif}.Categories .filters-category button img.filters-category--icon{height:24px;vertical-align:-8px;margin-right:6px}.Categories .filters-category button:not(:first-child):after{content:"";width:12px}.Categories .filters-category button:hover{background:#505050}.Categories .filters-category button[data-selected=selected]{background:#292929}.Categories .filters-category button[data-group=alltopics] img{display:none}.Categories .consonant-TopFilter button{border:1px solid #bbb}.Categories span.filter-group-title{display:block;text-transform:uppercase;font-weight:600;padding-top:12px;font-size:14px;border-top:1px solid #ddd;margin:6px 20px}.Categories span.filter-group-title:first-child{border-top:none;margin-top:0;padding-top:2px}.Categories .consonant-Card-label{text-transform:uppercase}.Categories .consonant-NoResultsView{min-height:300px}@media screen and (max-width:480px){.consonant-Wrapper--1200MaxWidth .consonant-Wrapper-inner{width:92%}.Categories .filters-category{justify-content:left}}.consonant-BtnInfobit--dark,[class*=consonant-u-theme] .consonant-BtnInfobit--dark{border-color:#101010;background-color:#1e1e1e}.consonant-BtnInfobit--dark span,[class*=consonant-u-theme] .consonant-BtnInfobit--dark span{color:#e3e3e3!important}.consonant-BtnInfobit--dark:hover,[class*=consonant-u-theme] .consonant-BtnInfobit--dark:hover{border-color:#000;background-color:#000}.consonant-BtnInfobit--dark:hover span,[class*=consonant-u-theme] .consonant-BtnInfobit--dark:hover span{color:#fff!important}:lang(ja) .consonant-Wrapper,:lang(ko) .consonant-Wrapper,:lang(th) .consonant-Wrapper,:lang(tw) .consonant-Wrapper,:lang(zh) .consonant-Wrapper{font-family:inherit}:lang(ja) .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title,:lang(ja) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title,:lang(ko) .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title,:lang(ko) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title,:lang(th) .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title,:lang(th) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title,:lang(tw) .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title,:lang(tw) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title,:lang(zh) .consonant-CardsGrid .consonant-Card.half-height .consonant-Card-title,:lang(zh) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-title{font-size:15px;line-height:normal}:lang(ja) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text,:lang(ko) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text,:lang(th) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text,:lang(tw) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text,:lang(zh) .consonant-CardsGrid .consonant-Card.one-half .consonant-Card-text{line-height:1.275rem} \ No newline at end of file diff --git a/dist/main.js b/dist/main.js index 8d6e2445..086628c5 100644 --- a/dist/main.js +++ b/dist/main.js @@ -1,5 +1,5 @@ /*! - * Chimera UI Libraries - Build 0.28.1 (1/29/2025, 11:57:20) + * Chimera UI Libraries - Build 0.28.3 (1/29/2025, 14:06:33) * */ /******/ (function(modules) { // webpackBootstrap @@ -2474,8 +2474,8 @@ var getEventSort = exports.getEventSort = function getEventSort() { var transformedCards = cards.map(function (card) { return { id: card.id, - startDate: safeGet(card, 'contentArea.dateDetailText.startTime', safeGet(card, 'footer[0].left[1].startTime', '')), - endDate: safeGet(card, 'contentArea.dateDetailText.endTime', safeGet(card, 'footer[0].left[1].endTime', '')), + startDate: safeGet(card, 'footer[0].left[1].startTime', safeGet(card, 'contentArea.dateDetailText.startTime', '')), + endDate: safeGet(card, 'footer[0].left[1].endTime', safeGet(card, 'contentArea.dateDetailText.endTime', '')), tags: card.tags || [], cardDate: card.cardDate || '', contentArea: card.contentArea || {}, diff --git a/dist/main.min.js b/dist/main.min.js index e2fa0d33..a319c854 100644 --- a/dist/main.min.js +++ b/dist/main.min.js @@ -1,12 +1,12 @@ /*! - * Chimera UI Libraries - Build 0.28.1 (1/29/2025, 11:57:20) + * Chimera UI Libraries - Build 0.28.3 (1/29/2025, 14:06:33) * */!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=119)}([function(e,t,n){"use strict";(function(t){"production"===t.env.NODE_ENV?e.exports=n(210):e.exports=n(211)}).call(t,n(12))},function(e,t,n){(function(t){if("production"!==t.env.NODE_ENV){var r=n(109);e.exports=n(230)(r.isElement,!0)}else e.exports=n(231)()}).call(t,n(12))},function(e,t,n){var r=n(9),o=n(3),i=n(23),a=n(27),l=n(25),u="prototype",s=function(e,t,n){var c,f,d,p,h=e&s.F,m=e&s.G,v=e&s.S,y=e&s.P,g=e&s.B,b=m?r:v?r[t]||(r[t]={}):(r[t]||{})[u],w=m?o:o[t]||(o[t]={}),T=w[u]||(w[u]={});for(c in m&&(n=t),n)d=((f=!h&&b&&void 0!==b[c])?b:n)[c],p=g&&f?l(d,r):y&&"function"==typeof d?l(Function.call,d):d,b&&a(b,c,d,e&s.U),w[c]!=d&&i(w,c,p),y&&T[c]!=d&&(T[c]=d)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t){var n=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(41)("wks"),o=n(34),i=n(9).Symbol,a="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))}).store=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeEventFilter=t.getSearchParam=t.getGlobalNavHeight=t.getLinkTarget=t.getEventBanner=t.getCurrentDate=t.isDateAfterInterval=t.isDateBeforeInterval=t.isDateWithinInterval=t.qs=t.mergeDeep=t.setByPath=t.debounce=t.getSelectedItemsCount=t.getByPath=t.template=t.getEndNumber=t.getStartNumber=t.getPageStartEnd=t.generateRange=t.stopPropagation=t.isAtleastOneFilterSelected=t.isNullish=t.parseToPrimitive=t.isObject=t.mapObject=t.sanitizeText=t.sortByKey=t.intersection=t.isSuperset=t.chainFromIterable=t.chain=t.removeDuplicatesByKey=t.truncateList=t.truncateString=t.readInclusionsFromLocalStorage=t.readBookmarksFromLocalStorage=t.saveBookmarksToLocalStorage=void 0;var r=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};t.getTransitions=function(e){for(var t=[].concat(i(e)),n=h(),r=new o.MinPriorityQueue,a=0;a0&&r.enqueue(t[a],l);var u=Date.parse(Date.parse(t[a].endDate)-n);t[a].endDate&&u>0&&r.enqueue(null,u)}return r};var o=n(222);function i(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);tt(n)?1:0}))},/[a-zA-Z0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF\s.]/g),s=(t.sanitizeText=function(e){if(!e)return"";var t=e.toLowerCase().trim(),n=t.match(u);return t=n?n.join(""):""},t.mapObject=function(e,t){var n={};return Object.keys(e).forEach((function(r){n[r]=t(e[r])})),n}),c=t.isObject=function(e){return!!e&&e.constructor===Object},f=(t.parseToPrimitive=function e(t){if(c(t))return s(t,e);if(Array.isArray(t))return t.map(e);try{return e(JSON.parse(t))}catch(e){return t}},t.isNullish=function(e){return null==e||Number.isNaN(e)},t.isAtleastOneFilterSelected=function(e){return l(e.map((function(e){return e.items}))).some((function(e){return e.selected}))},t.stopPropagation=function(e){return e.stopPropagation()},t.generateRange=function(e,t){var n=e,r=1,o=[];for(t0?t>=n:t<=n;)o.push(n),n+=r;return o},t.getPageStartEnd=function(e,t,n){var r=Math.floor(t/2),o=void 0,i=void 0;return n<=t+1?(o=1,i=n):(o=Math.min(Math.max(1,e-r),n-t),i=Math.max(Math.min(e+r,n),t+1)),[o,i]},t.getStartNumber=function(e,t){return 1===e?1:e*t-(t-1)},t.getEndNumber=function(e,t,n){var r=e*t;return r0&&void 0!==arguments[0]?arguments[0]:"",t=arguments[1];if(!t)return e;return e.replace(/{([A-z]*)}/gi,(function(e,n){return t[n]||e}))},t.getByPath=function(e,t,n){if(!e||!t)return n;for(var r=e,o=t.split("."),i=0;i1&&void 0!==arguments[1]?arguments[1]:0,n=void 0;return function(){for(var r=arguments.length,o=Array(r),i=0;i1?n-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:{}).array,n=new URLSearchParams;return Object.entries(e).forEach((function(e){var o=r(e,2),i=o[0],a=o[1];f(i)?Array.isArray(a)?"comma"===t?n.append(i,encodeURIComponent(a)):n.append(i,encodeURIComponent(a.join("|"))):n.append(i,encodeURIComponent(a)):n.append(i,a)})),n.toString()}},t.isDateWithinInterval=function(e,t,n){var r=Date.parse(e),o=Date.parse(t),i=Date.parse(n);return o<=r&&i>r}),p=t.isDateBeforeInterval=function(e,t){return Date.parse(e)Date.parse(t)},t.getCurrentDate=function(){var e=new URLSearchParams(window.location.search),t=parseInt(e.get("servertime"),10),n=performance.now();return t?new Date(t+n):new Date});t.getEventBanner=function(e,t,n){var r=h();return d(r,e,t)?n.live||{backgroundColor:"",description:"",fontColor:"",icon:""}:p(r,e)?n.upcoming||{backgroundColor:"",description:"",fontColor:"",icon:""}:n.onDemand||{backgroundColor:"",description:"",fontColor:"",icon:""}};t.getLinkTarget=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.hostname;if(t||e.startsWith("#"))return t;var r="_blank";try{var o=new URL(e).hostname;n===(void 0===o?"":o)&&(r="_self")}catch(e){}return r},t.getGlobalNavHeight=function(){var e=document.querySelector("header");if(!e)return 20;var t=e.getAttribute("daa-lh")&&e.getAttribute("daa-lh").includes("bacom"),n=t?e:document.querySelector(".feds-header-wrapper");return t||n&&n.classList.contains("feds-header-wrapper--sticky")?e.offsetHeight+20:20},t.getSearchParam=function(e,t){return e&&e.startsWith("http")&&t?new URL(e).searchParams.get(t):null},t.sanitizeEventFilter=function(e){return!e||e.indexOf("all")>-1?[]:Array.isArray(e)?e:[e]}},function(e,t,n){var r; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e="",t=0;t0&&void 0!==arguments[0]?arguments[0]:{}).isRegistered&&r(!0)})).catch((function(){var e,t,n,o,i,l=(e=(0,a.getByPath)(window,"feds.data",null),t=(0,a.getByPath)(e,"eventName",null),n=t&&e[t]?e[t]:null,o=n?n.isRegistered:null,i=(0,a.getByPath)(e,"isRegisteredForMax",null),!(!o&&!i));l&&r(l)}))}}),[n]),n}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){e.exports=!n(16)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(8);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,s=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=l(d);c=!0;for(var t=s.length;t;){for(u=s,s=[];++f1)for(var n=1;n0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.configType=t.sortOptionType=t.filterType=t.filterItemType=void 0;var r=n(1),o=n(39),i=[r.string,r.number],a=[r.string,r.number],l=[r.bool,r.string],u={title:r.string,endpoint:r.string,cardStyle:r.string,totalResultsText:r.string,resultsPerPage:(0,r.oneOfType)(i),totalCardLimit:(0,r.oneOfType)(a),displayTotalResults:(0,r.oneOfType)(l)},s=[r.string,(0,r.arrayOf)((0,r.shape)(o.cardType)),(0,r.arrayOf)(r.string)],c=[r.bool,r.string],f={enabled:(0,r.oneOfType)(c)},d=t.filterItemType={id:r.string,label:(0,r.oneOfType)([r.string,r.number])},p=t.filterType={id:r.string,group:r.string,items:(0,r.arrayOf)((0,r.shape)(d))},h=[r.string,(0,r.arrayOf)((0,r.shape)(p))],m={type:r.string,filterLogic:r.string,clearFilterText:r.string,leftPanelHeader:r.string,clearAllFiltersText:r.string,enabled:(0,r.oneOfType)(c),filters:(0,r.oneOfType)(h)},v={type:r.string,paginatorPrevLabel:r.string,paginatorNextLabel:r.string,loadMoreButtonText:r.string,enabled:(0,r.oneOfType)(c),loadMoreQuantityText:r.string,paginatorQuantityText:r.string},y={saveCardText:r.string,cardSavedIcon:r.string,unsaveCardText:r.string,cardUnsavedIcon:r.string,selectBookmarksIcon:r.string,enabled:(0,r.oneOfType)(c),bookmarksFilterTitle:r.string,unselectBookmarksIcon:r.string},g=[r.string,(0,r.arrayOf)(r.string)],b={leftPanelTitle:r.string,inputPlaceholderText:r.string,enabled:(0,r.oneOfType)(c),searchFields:(0,r.oneOfType)(g)},w=t.sortOptionType={sort:r.string,label:r.string},T={enabled:(0,r.oneOfType)(c),options:(0,r.oneOfType)([r.string,(0,r.arrayOf)((0,r.shape)(w))])};t.configType={sort:(0,r.shape)(T),search:(0,r.shape)(b),header:(0,r.shape)(f),bookmarks:(0,r.shape)(y),collection:(0,r.shape)(u),pagination:(0,r.shape)(v),filterPanel:(0,r.shape)(m),featuredCards:(0,r.oneOfType)(s)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeStr=t.getFeaturedCards=t.getRandomSort=t.getUpdatedCardBookmarkData=t.processCards=t.joinCardSets=t.getCardsMatchingSearch=t.getEventSort=t.getDateDescSort=t.getDateAscSort=t.getFeaturedSort=t.getModifiedAscSort=t.getModifiedDescSort=t.getTitleDescSort=t.getTitleAscSort=t.hasTag=t.getCardsMatchingQuery=t.highlightCard=t.getFilteredCards=t.getActivePanels=t.getActiveFilterIds=t.getBookmarkedCards=t.getCollectionCards=t.getTotalPages=t.getNumCardsToShow=t.shouldDisplayPaginator=void 0;var r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=Object.assign||function(e){for(var t=1;t0&&!(n>t)},t.getNumCardsToShow=function(e,t,n){return Math.min(e*t,n)},t.getTotalPages=function(e,t){return 0===e?0:Math.ceil(t/e)},t.getCollectionCards=function(e,t,n){return e?t:n},t.getBookmarkedCards=function(e){return e.filter((function(e){return e.isBookmarked}))},t.getActiveFilterIds=function(e){return(0,c.chainFromIterable)(e.map((function(e){return e.items}))).filter((function(e){return e.selected})).map((function(e){return e.id}))},t.getActivePanels=function(e){return new Set(e.map((function(e){return e.replace(/\/.*$/,"")})))};var p=function(e,t){var n=Date.now(),r=(0,d.convertDateStrToMs)(e.startDate),o=(0,d.convertDateStrToMs)(e.endDate),i=!(!r||!o),a=!!i&&(0,d.defineIsUpcoming)(n,r),l=!(!i||a)&&(0,d.defineIsOnDemand)(n,o),u=!(!i||a||l||!r);return!!i&&(!(!t.has(f.EVENT_TIMING_IDS.UPCOMING)||!a)||(!(!t.has(f.EVENT_TIMING_IDS.ONDEMAND)||!l)||!(!t.has(f.EVENT_TIMING_IDS.LIVE)||!u)))},h=(t.getFilteredCards=function(e,t,n,r,o,i){var a=new Set(t),l=(0,c.intersection)(a,new Set([f.EVENT_TIMING_IDS.LIVE,f.EVENT_TIMING_IDS.ONDEMAND,f.EVENT_TIMING_IDS.UPCOMING])),u=function(e,t){return e===t.XOR||e===t.AND}(r,o),s=function(e,t){return e===t.OR}(r,o),d=function(e){return e.has(f.EVENT_TIMING_IDS.LIVE)||e.has(f.EVENT_TIMING_IDS.ONDEMAND)||e.has(f.EVENT_TIMING_IDS.UPCOMING)}(a);l.forEach((function(e){return a.delete(e)}));var h=[],m=new Set;if(i&&i.length){for(var v=0;v1&&void 0!==arguments[1]?arguments[1]:[];return!(!t.length||"RegExp"!==e.constructor.name)&&t.some((function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).id,n=void 0===t?"":t;return n&&e.test(n)}))},t.getTitleAscSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"contentArea.title"),r=(0,c.getByPath)(t,"contentArea.title");return n.localeCompare(r)}))}),v=(t.getTitleDescSort=function(e){return m(e).reverse()},t.getModifiedDescSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"modifiedDate"),r=(0,c.getByPath)(t,"modifiedDate");return n&&r?r.localeCompare(n):0}))}),y=(t.getModifiedAscSort=function(e){return v(e).reverse()},t.getFeaturedSort=function(e){return e},t.getDateAscSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"cardDate"),r=(0,c.getByPath)(t,"cardDate");return n&&r?n!==r?n.localeCompare(r):(e.id||"").localeCompare(t.id||""):0}))});t.getDateDescSort=function(e){return y(e).reverse()};function g(e,t,n){for(var r=function(e){return e?e.replace(/\[(\d+)\]/g,".$1").split("."):""}(t),o=e,i=0;i0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return{id:e.id,startDate:g(e,"contentArea.dateDetailText.startTime",g(e,"footer[0].left[1].startTime","")),endDate:g(e,"contentArea.dateDetailText.endTime",g(e,"footer[0].left[1].endTime","")),tags:e.tags||[],cardDate:e.cardDate||"",contentArea:e.contentArea||{},createdDate:e.createdDate||"",ctaLink:e.ctaLink||"",description:e.description||"",footer:e.footer||[],initial:e.initial||{},isBookmarked:e.isBookmarked||!1,modifiedDate:e.modifiedDate||"",overlayLink:e.overlayLink||"",overlays:e.overlays||{},showCard:e.showCard||{},search:e.search||{},styles:e.styles||{}}})),n=(0,d.eventTiming)(t,e);return{visibleSessions:n.visibleSessions,nextTransitionMs:n.nextTransitionMs}},t.getCardsMatchingSearch=function(e,t,n){if(!e)return t;var r=(0,c.sanitizeText)(e);return h(t,n,r)};var b=t.joinCardSets=function(e,t){return e.concat(t)},w=(t.processCards=function(e,t){return(0,c.removeDuplicatesByKey)(b(e,t),"id")},t.getUpdatedCardBookmarkData=function(e,t){return e.map((function(e){return i({},e,{isBookmarked:t.some((function(t){return t===e.id}))})}))},new Map);function T(e,t){return Math.floor(Math.random()*(t-e))+e}t.getRandomSort=function(e,t,n,r){if(!w.get(t)){var i=function(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var l,u=Object.entries(e)[Symbol.iterator]();!(r=(l=u.next()).done);r=!0){var s=l.value,c=o(s,2),f=c[0],d=c[1];if(n.length")}},function(e,t,n){var r=n(13),o=n(33);e.exports=n(10)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(29);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(36),o=n(33),i=n(18),a=n(32),l=n(24),u=n(72),s=Object.getOwnPropertyDescriptor;t.f=n(10)?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(l(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(9),o=n(23),i=n(24),a=n(34)("src"),l=n(124),u="toString",s=(""+l).split(u);n(3).inspectSource=function(e){return l.call(e)},(e.exports=function(e,t,n,l){var u="function"==typeof n;u&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(u&&(i(n,a)||o(n,a,e[t]?""+e[t]:s.join(String(t)))),e===r?e[t]=n:l?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,u,(function(){return"function"==typeof this&&this[a]||l.call(this)}))},function(e,t){e.exports=!1},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(75),o=n(55);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(8);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(30),o=n(4)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){"use strict"; +*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e="",t=0;t0&&void 0!==arguments[0]?arguments[0]:{}).isRegistered&&r(!0)})).catch((function(){var e,t,n,o,i,l=(e=(0,a.getByPath)(window,"feds.data",null),t=(0,a.getByPath)(e,"eventName",null),n=t&&e[t]?e[t]:null,o=n?n.isRegistered:null,i=(0,a.getByPath)(e,"isRegisteredForMax",null),!(!o&&!i));l&&r(l)}))}}),[n]),n}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t,n){e.exports=!n(16)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(8);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function l(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,s=[],c=!1,f=-1;function d(){c&&u&&(c=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!c){var e=l(d);c=!0;for(var t=s.length;t;){for(u=s,s=[];++f1)for(var n=1;n0?o(r(e),9007199254740991):0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.configType=t.sortOptionType=t.filterType=t.filterItemType=void 0;var r=n(1),o=n(39),i=[r.string,r.number],a=[r.string,r.number],l=[r.bool,r.string],u={title:r.string,endpoint:r.string,cardStyle:r.string,totalResultsText:r.string,resultsPerPage:(0,r.oneOfType)(i),totalCardLimit:(0,r.oneOfType)(a),displayTotalResults:(0,r.oneOfType)(l)},s=[r.string,(0,r.arrayOf)((0,r.shape)(o.cardType)),(0,r.arrayOf)(r.string)],c=[r.bool,r.string],f={enabled:(0,r.oneOfType)(c)},d=t.filterItemType={id:r.string,label:(0,r.oneOfType)([r.string,r.number])},p=t.filterType={id:r.string,group:r.string,items:(0,r.arrayOf)((0,r.shape)(d))},h=[r.string,(0,r.arrayOf)((0,r.shape)(p))],m={type:r.string,filterLogic:r.string,clearFilterText:r.string,leftPanelHeader:r.string,clearAllFiltersText:r.string,enabled:(0,r.oneOfType)(c),filters:(0,r.oneOfType)(h)},v={type:r.string,paginatorPrevLabel:r.string,paginatorNextLabel:r.string,loadMoreButtonText:r.string,enabled:(0,r.oneOfType)(c),loadMoreQuantityText:r.string,paginatorQuantityText:r.string},y={saveCardText:r.string,cardSavedIcon:r.string,unsaveCardText:r.string,cardUnsavedIcon:r.string,selectBookmarksIcon:r.string,enabled:(0,r.oneOfType)(c),bookmarksFilterTitle:r.string,unselectBookmarksIcon:r.string},g=[r.string,(0,r.arrayOf)(r.string)],b={leftPanelTitle:r.string,inputPlaceholderText:r.string,enabled:(0,r.oneOfType)(c),searchFields:(0,r.oneOfType)(g)},w=t.sortOptionType={sort:r.string,label:r.string},T={enabled:(0,r.oneOfType)(c),options:(0,r.oneOfType)([r.string,(0,r.arrayOf)((0,r.shape)(w))])};t.configType={sort:(0,r.shape)(T),search:(0,r.shape)(b),header:(0,r.shape)(f),bookmarks:(0,r.shape)(y),collection:(0,r.shape)(u),pagination:(0,r.shape)(v),filterPanel:(0,r.shape)(m),featuredCards:(0,r.oneOfType)(s)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeStr=t.getFeaturedCards=t.getRandomSort=t.getUpdatedCardBookmarkData=t.processCards=t.joinCardSets=t.getCardsMatchingSearch=t.getEventSort=t.getDateDescSort=t.getDateAscSort=t.getFeaturedSort=t.getModifiedAscSort=t.getModifiedDescSort=t.getTitleDescSort=t.getTitleAscSort=t.hasTag=t.getCardsMatchingQuery=t.highlightCard=t.getFilteredCards=t.getActivePanels=t.getActiveFilterIds=t.getBookmarkedCards=t.getCollectionCards=t.getTotalPages=t.getNumCardsToShow=t.shouldDisplayPaginator=void 0;var r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&l.return&&l.return()}finally{if(o)throw i}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},i=Object.assign||function(e){for(var t=1;t0&&!(n>t)},t.getNumCardsToShow=function(e,t,n){return Math.min(e*t,n)},t.getTotalPages=function(e,t){return 0===e?0:Math.ceil(t/e)},t.getCollectionCards=function(e,t,n){return e?t:n},t.getBookmarkedCards=function(e){return e.filter((function(e){return e.isBookmarked}))},t.getActiveFilterIds=function(e){return(0,c.chainFromIterable)(e.map((function(e){return e.items}))).filter((function(e){return e.selected})).map((function(e){return e.id}))},t.getActivePanels=function(e){return new Set(e.map((function(e){return e.replace(/\/.*$/,"")})))};var p=function(e,t){var n=Date.now(),r=(0,d.convertDateStrToMs)(e.startDate),o=(0,d.convertDateStrToMs)(e.endDate),i=!(!r||!o),a=!!i&&(0,d.defineIsUpcoming)(n,r),l=!(!i||a)&&(0,d.defineIsOnDemand)(n,o),u=!(!i||a||l||!r);return!!i&&(!(!t.has(f.EVENT_TIMING_IDS.UPCOMING)||!a)||(!(!t.has(f.EVENT_TIMING_IDS.ONDEMAND)||!l)||!(!t.has(f.EVENT_TIMING_IDS.LIVE)||!u)))},h=(t.getFilteredCards=function(e,t,n,r,o,i){var a=new Set(t),l=(0,c.intersection)(a,new Set([f.EVENT_TIMING_IDS.LIVE,f.EVENT_TIMING_IDS.ONDEMAND,f.EVENT_TIMING_IDS.UPCOMING])),u=function(e,t){return e===t.XOR||e===t.AND}(r,o),s=function(e,t){return e===t.OR}(r,o),d=function(e){return e.has(f.EVENT_TIMING_IDS.LIVE)||e.has(f.EVENT_TIMING_IDS.ONDEMAND)||e.has(f.EVENT_TIMING_IDS.UPCOMING)}(a);l.forEach((function(e){return a.delete(e)}));var h=[],m=new Set;if(i&&i.length){for(var v=0;v1&&void 0!==arguments[1]?arguments[1]:[];return!(!t.length||"RegExp"!==e.constructor.name)&&t.some((function(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).id,n=void 0===t?"":t;return n&&e.test(n)}))},t.getTitleAscSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"contentArea.title"),r=(0,c.getByPath)(t,"contentArea.title");return n.localeCompare(r)}))}),v=(t.getTitleDescSort=function(e){return m(e).reverse()},t.getModifiedDescSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"modifiedDate"),r=(0,c.getByPath)(t,"modifiedDate");return n&&r?r.localeCompare(n):0}))}),y=(t.getModifiedAscSort=function(e){return v(e).reverse()},t.getFeaturedSort=function(e){return e},t.getDateAscSort=function(e){return e.sort((function(e,t){var n=(0,c.getByPath)(e,"cardDate"),r=(0,c.getByPath)(t,"cardDate");return n&&r?n!==r?n.localeCompare(r):(e.id||"").localeCompare(t.id||""):0}))});t.getDateDescSort=function(e){return y(e).reverse()};function g(e,t,n){for(var r=function(e){return e?e.replace(/\[(\d+)\]/g,".$1").split("."):""}(t),o=e,i=0;i0&&void 0!==arguments[0]?arguments[0]:[]).map((function(e){return{id:e.id,startDate:g(e,"footer[0].left[1].startTime",g(e,"contentArea.dateDetailText.startTime","")),endDate:g(e,"footer[0].left[1].endTime",g(e,"contentArea.dateDetailText.endTime","")),tags:e.tags||[],cardDate:e.cardDate||"",contentArea:e.contentArea||{},createdDate:e.createdDate||"",ctaLink:e.ctaLink||"",description:e.description||"",footer:e.footer||[],initial:e.initial||{},isBookmarked:e.isBookmarked||!1,modifiedDate:e.modifiedDate||"",overlayLink:e.overlayLink||"",overlays:e.overlays||{},showCard:e.showCard||{},search:e.search||{},styles:e.styles||{}}})),n=(0,d.eventTiming)(t,e);return{visibleSessions:n.visibleSessions,nextTransitionMs:n.nextTransitionMs}},t.getCardsMatchingSearch=function(e,t,n){if(!e)return t;var r=(0,c.sanitizeText)(e);return h(t,n,r)};var b=t.joinCardSets=function(e,t){return e.concat(t)},w=(t.processCards=function(e,t){return(0,c.removeDuplicatesByKey)(b(e,t),"id")},t.getUpdatedCardBookmarkData=function(e,t){return e.map((function(e){return i({},e,{isBookmarked:t.some((function(t){return t===e.id}))})}))},new Map);function T(e,t){return Math.floor(Math.random()*(t-e))+e}t.getRandomSort=function(e,t,n,r){if(!w.get(t)){var i=function(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var l,u=Object.entries(e)[Symbol.iterator]();!(r=(l=u.next()).done);r=!0){var s=l.value,c=o(s,2),f=c[0],d=c[1];if(n.length")}},function(e,t,n){var r=n(13),o=n(33);e.exports=n(10)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(29);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(36),o=n(33),i=n(18),a=n(32),l=n(24),u=n(72),s=Object.getOwnPropertyDescriptor;t.f=n(10)?s:function(e,t){if(e=i(e),t=a(t,!0),u)try{return s(e,t)}catch(e){}if(l(e,t))return o(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(9),o=n(23),i=n(24),a=n(34)("src"),l=n(124),u="toString",s=(""+l).split(u);n(3).inspectSource=function(e){return l.call(e)},(e.exports=function(e,t,n,l){var u="function"==typeof n;u&&(i(n,"name")||o(n,"name",t)),e[t]!==n&&(u&&(i(n,a)||o(n,a,e[t]?""+e[t]:s.join(String(t)))),e===r?e[t]=n:l?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,u,(function(){return"function"==typeof this&&this[a]||l.call(this)}))},function(e,t){e.exports=!1},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(75),o=n(55);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){var r=n(8);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(30),o=n(4)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},function(e,t,n){"use strict"; /* object-assign (c) Sindre Sorhus diff --git a/dist/main.source.js b/dist/main.source.js index 81731fa9..95e82b59 100644 --- a/dist/main.source.js +++ b/dist/main.source.js @@ -205,7 +205,7 @@ eval("// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeStr = exports.getFeaturedCards = exports.getRandomSort = exports.getUpdatedCardBookmarkData = exports.processCards = exports.joinCardSets = exports.getCardsMatchingSearch = exports.getEventSort = exports.getDateDescSort = exports.getDateAscSort = exports.getFeaturedSort = exports.getModifiedAscSort = exports.getModifiedDescSort = exports.getTitleDescSort = exports.getTitleAscSort = exports.hasTag = exports.getCardsMatchingQuery = exports.highlightCard = exports.getFilteredCards = exports.getActivePanels = exports.getActiveFilterIds = exports.getBookmarkedCards = exports.getCollectionCards = exports.getTotalPages = exports.getNumCardsToShow = exports.shouldDisplayPaginator = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _immer = __webpack_require__(270);\n\nvar _immer2 = _interopRequireDefault(_immer);\n\nvar _rendering = __webpack_require__(40);\n\nvar _general = __webpack_require__(5);\n\nvar _constants = __webpack_require__(15);\n\nvar _eventSort = __webpack_require__(271);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * Needs to be explicitly called by immer - Needed for IE 11 support\n * @type {Function}\n */\n(0, _immer.enableES5)();\n\n/**\n * Determines whether paginator component should display\n * @param {Boolean} enabled - Authored flag whether component should display or not\n * @param {Number} totalCardLimit - Authored limit for how many cards should display\n * @param {Number} totalResults - Total cards in collection\n * @returns {Boolean} - Whether Paginator should display or not\n */\nvar shouldDisplayPaginator = exports.shouldDisplayPaginator = function shouldDisplayPaginator(enabled, totalCardLimit, totalResults) {\n var totalCardLimitNotZero = totalCardLimit > 0;\n var cardLengthExceedsDisplayLimit = totalResults > totalCardLimit;\n\n return enabled && totalCardLimitNotZero && !cardLengthExceedsDisplayLimit;\n};\n\n/**\n * Determines how many cards to show\n * @param {Number} resultsPerPage - How many cards should show per page (Authored Field)\n * @param {Number} currentPage - Current page user is on\n * @param {Number} totalResults - Total cards in collection\n * @returns {Number} - Number of cards to show\n */\nvar getNumCardsToShow = exports.getNumCardsToShow = function getNumCardsToShow(resultsPerPage, currentPage, totalResults) {\n return Math.min(resultsPerPage * currentPage, totalResults);\n};\n\n/**\n * Gets Total Page Count (For Paginator Component)\n * @param {Number} resultsPerPage - How many cards should show per page (Authored Field)\n * @param {Number} totalResults - Total cards in collection\n * @returns {Number} - Total number of pages\n */\nvar getTotalPages = exports.getTotalPages = function getTotalPages(resultsPerPage, totalResults) {\n if (resultsPerPage === 0) return 0;\n return Math.ceil(totalResults / resultsPerPage);\n};\n\n/**\n * Determines whether to show collection cards or bookmarked cards only\n * (If author chooses bookmarks only collection)\n\n * @param {Boolean} showBookmarksOnly - Authored Flag to Force Card Collection To\n * Only Show Bookmarks\n * @param {Array} bookmarkedCards - Bookmarked cards only\n * @param {Array} collectionCards - All cards\n * @returns {Array} - Which collection of cards to show\n */\nvar getCollectionCards = exports.getCollectionCards = function getCollectionCards(showBookmarksOnly, bookmarkedCards, collectionCards) {\n return showBookmarksOnly ? bookmarkedCards : collectionCards;\n};\n\n/**\n * Filter to get all bookmarked cards\n * @param {Array} collectionCards - All cards\n * @returns {Array} - All bookmarked cards\n */\nvar getBookmarkedCards = exports.getBookmarkedCards = function getBookmarkedCards(collectionCards) {\n return collectionCards.filter(function (card) {\n return card.isBookmarked;\n });\n};\n\n/**\n * Gets all filters checked by a user\n * @param {Array} filters - All filters on page\n * @returns {Array} - All checked filters by user\n */\nvar getActiveFilterIds = exports.getActiveFilterIds = function getActiveFilterIds(filters) {\n return (0, _general.chainFromIterable)(filters.map(function (f) {\n return f.items;\n })).filter(function (item) {\n return item.selected;\n }).map(function (item) {\n return item.id;\n });\n};\n\n/**\n * Gets all filter panels with filters checked by a user\n * @param {Array} activeFilters - All filters checked\n * @returns {Set} - Set of filter panels with filters checked on the page\n */\nvar getActivePanels = exports.getActivePanels = function getActivePanels(activeFilters) {\n return new Set(activeFilters.map(function (filter) {\n return filter.replace(/\\/.*$/, '');\n }));\n};\n\n/**\n * Helper method to dermine whether author chose XOR or AND type filtering\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Boolean} - Whether collection is using a XOR or AND type filtering\n */\nvar getUsingXorAndFilter = function getUsingXorAndFilter(filterType, filterTypes) {\n return filterType === filterTypes.XOR || filterType === filterTypes.AND;\n};\n\n/**\n * Helper method to dermine whether author chose OR type filtering\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Boolean} - Whether collection is using OR type filtering\n */\nvar getUsingOrFilter = function getUsingOrFilter(filterType, filterTypes) {\n return filterType === filterTypes.OR;\n};\n\n/**\n * Helper method to determine whether we are doing event filtering from the side bar tags\n * @param {Set} activeFilterSet\n * @returns {Boolean} - Whether collection has an event filter\n */\nvar getUsingTimingFilter = function getUsingTimingFilter(activeFiltersSet) {\n return activeFiltersSet.has(_constants.EVENT_TIMING_IDS.LIVE) || activeFiltersSet.has(_constants.EVENT_TIMING_IDS.ONDEMAND) || activeFiltersSet.has(_constants.EVENT_TIMING_IDS.UPCOMING);\n};\n\n/**\n * Helper method to determine whether the card is within event timing\n * @param {Object} card\n * @param {Set} timing\n * @returns {Boolean} - whether the card falls within selected timing options\n */\nvar checkEventTiming = function checkEventTiming(card, timing) {\n var curMs = Date.now();\n // Times in milliseconds\n var startMs = (0, _eventSort.convertDateStrToMs)(card.startDate);\n var endMs = (0, _eventSort.convertDateStrToMs)(card.endDate);\n // Timed categories\n var isTimed = !!(startMs && endMs);\n var isUpComing = isTimed ? (0, _eventSort.defineIsUpcoming)(curMs, startMs) : false;\n var isOnDemand = isTimed && !isUpComing ? (0, _eventSort.defineIsOnDemand)(curMs, endMs) : false;\n var isLive = !!(isTimed && !isUpComing && !isOnDemand && startMs);\n\n // if you have timing filters active and there is no timing on the card it should be rejected\n if (!isTimed) return false;\n if (timing.has(_constants.EVENT_TIMING_IDS.UPCOMING) && isUpComing) return true;else if (timing.has(_constants.EVENT_TIMING_IDS.ONDEMAND) && isOnDemand) return true;else if (timing.has(_constants.EVENT_TIMING_IDS.LIVE) && isLive) return true;\n return false;\n};\n\n/**\n * Will return all cards that match a set of filters\n * @param {Array} cards - All cards in the collection\n * @param {Array} activeFilters - All filters selected by user\n * @param {Array} activePanels - Active filters panels selected by user\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Array} - All cards that match filter options\n */\n// eslint-disable-next-line max-len\nvar getFilteredCards = exports.getFilteredCards = function getFilteredCards(cards, activeFilters, activePanels, filterType, filterTypes, categories) {\n var activeFiltersSet = new Set(activeFilters);\n var timingSet = (0, _general.intersection)(activeFiltersSet, new Set([_constants.EVENT_TIMING_IDS.LIVE, _constants.EVENT_TIMING_IDS.ONDEMAND, _constants.EVENT_TIMING_IDS.UPCOMING]));\n var usingXorAndFilter = getUsingXorAndFilter(filterType, filterTypes);\n var usingOrFilter = getUsingOrFilter(filterType, filterTypes);\n var usingTimingFilter = getUsingTimingFilter(activeFiltersSet);\n // remove the time elements from the active filter set before you actually filter\n timingSet.forEach(function (filter) {\n return activeFiltersSet.delete(filter);\n });\n\n var temp = [];\n var set = new Set();\n if (categories && categories.length) {\n for (var i = 0; i < cards.length; i++) {\n var card = cards[i];\n for (var j = 0; j < categories.length; j++) {\n var category = categories[j];\n for (var k = 0; k < card.tags.length; k++) {\n var currTag = card.tags[k];\n if (currTag.id.includes(category) && !set.has(card.id)) {\n set.add(card.id);\n temp.push(card);\n }\n }\n }\n }\n /* eslint-disable-next-line no-param-reassign */\n cards = temp;\n }\n\n if (activeFiltersSet.size === 0 && !usingTimingFilter) return cards;\n\n return cards.filter(function (card) {\n if (!card.tags && !usingTimingFilter) {\n return false;\n } else if (usingTimingFilter && !checkEventTiming(card, timingSet)) {\n return false;\n } else if (usingTimingFilter && checkEventTiming(card, timingSet) && activeFiltersSet.size === 0) {\n // if the only filters being performed are about event timing\n return true;\n }\n // you proceed to check the other tags in the cards after the time filter checks\n var tagIds = new Set(card.tags.map(function (tag) {\n return tag.id;\n }));\n\n if (usingXorAndFilter) {\n return (0, _general.isSuperset)(tagIds, activeFiltersSet);\n } else if (usingOrFilter && activePanels.size < 2) {\n return (0, _general.intersection)(tagIds, activeFiltersSet).size;\n } else if (usingOrFilter) {\n // check if card' tags panels include all panels with selected filters\n var tagPanels = new Set(card.tags.map(function (tag) {\n return tag.id.replace(/\\/.*$/, '');\n }));\n if (!(0, _general.isSuperset)(tagPanels, activePanels)) return false;\n\n // check if card' tags include all panels with selected filters\n var allPanelsMatch = true;\n // eslint-disable-next-line no-restricted-syntax\n\n var _loop = function _loop(panel) {\n var filtersCheckedInPanel = new Set([].concat(_toConsumableArray(activeFiltersSet)).filter(function (id) {\n return id.includes(panel, 0);\n }));\n if (!(0, _general.intersection)(tagIds, filtersCheckedInPanel).size) {\n allPanelsMatch = false;\n }\n };\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = activePanels[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var panel = _step.value;\n\n _loop(panel);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return allPanelsMatch;\n }\n throw new Error('Unrecognized filter type: ' + filterType);\n });\n};\n\n/**\n * If a card matches a search query, this method will highlight it\n * @param {Array} baseCard - Card to highlight\n * @param {Array} searchField - Field that matches Query\n * @param {String} query - The users search query\n * @returns {Card} The highlighted caard\n */\nvar highlightCard = exports.highlightCard = function highlightCard(baseCard, searchField, query) {\n return (0, _immer2.default)(baseCard, function (draftCard) {\n var searchFieldValue = (0, _general.getByPath)(draftCard, searchField, null);\n if (searchFieldValue === null || searchFieldValue === '') return;\n var highlightedSearchFieldValue = (0, _rendering.HighlightSearchField)(searchFieldValue, query);\n (0, _general.setByPath)(draftCard, searchField, highlightedSearchFieldValue);\n });\n};\n\n/**\n * If a card matches a search query, this method will highlight it\n * @param {Array} searchField - Field that matches Query\n * @param {Array} card - Card to check\n * @param {String} query - The users search query\n * @returns {Boolean} If the card matches the user's search query\n */\nvar cardMatchesQuery = function cardMatchesQuery(searchField, card, searchQuery) {\n var searchFieldValue = (0, _general.getByPath)(card, searchField, '');\n var cleanSearchFieldValue = (0, _general.sanitizeText)(searchFieldValue);\n return cleanSearchFieldValue.includes(searchQuery);\n};\n\n/**\n * Helper to implement Set() data structure w/ Vanilla Arrays\n * Would've used new Set(), but polyfill has bug in IE11 converting Array.from(new Set())\n *\n * @param {Array} cards\n * @return {Array} - Unique Card Set from Cards (filtering based off unique card ids)\n */\nvar getUniqueCardSet = function getUniqueCardSet(cards) {\n var uniqueCardSet = [];\n cards.forEach(function (card) {\n var cardNotInSet = uniqueCardSet.findIndex(function (element) {\n return element.id === card.id;\n }) <= -1;\n if (cardNotInSet) {\n uniqueCardSet.push(card);\n }\n });\n return uniqueCardSet;\n};\n\n/**\n * Gets all cards that matches a users search query\n * @param {Array} cards - All cards in the card collection\n * @param {Array} searchFields - All authored search fields to check\n * @param {String} query - The users search query\n * @returns {Array} - All cards that match the user's query for a given set of search fields\n */\nvar getCardsMatchingQuery = exports.getCardsMatchingQuery = function getCardsMatchingQuery(cards, searchFields, query) {\n var cardsMatchingQuery = [];\n cards.forEach(function (card) {\n searchFields.forEach(function (searchField) {\n if (cardMatchesQuery(searchField, card, query)) {\n cardsMatchingQuery.push(card);\n }\n });\n });\n return getUniqueCardSet(cardsMatchingQuery);\n};\n/**\n * @func hasTag\n * @desc Does current entity have a specific tag?\n * @param {RegExp} compare a regEx pattern to test for\n * @param {Array} tags an array of tags\n */\nvar hasTag = exports.hasTag = function hasTag(compare) {\n var tags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (!tags.length || compare.constructor.name !== 'RegExp') return false;\n\n return tags.some(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$id = _ref.id,\n id = _ref$id === undefined ? '' : _ref$id;\n\n return id && compare.test(id);\n });\n};\n\n/**\n * Returns all cards title sorted (A-Z)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getTitleAscSort = exports.getTitleAscSort = function getTitleAscSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneTitle = (0, _general.getByPath)(cardOne, 'contentArea.title');\n var cardTwoTitle = (0, _general.getByPath)(cardTwo, 'contentArea.title');\n return cardOneTitle.localeCompare(cardTwoTitle);\n });\n};\n\n/**\n * Returns all cards title sorted (Z-A)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getTitleDescSort = exports.getTitleDescSort = function getTitleDescSort(cards) {\n return getTitleAscSort(cards).reverse();\n};\n\n/**\n * Returns all cards sorted by date modified newest to oldest\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getModifiedDescSort = exports.getModifiedDescSort = function getModifiedDescSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneModDate = (0, _general.getByPath)(cardOne, 'modifiedDate');\n var cardTwoModDate = (0, _general.getByPath)(cardTwo, 'modifiedDate');\n if (cardOneModDate && cardTwoModDate) {\n return cardTwoModDate.localeCompare(cardOneModDate);\n }\n return 0;\n });\n};\n\n/**\n * Returns all cards sorted by date modified oldest to newest\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getModifiedAscSort = exports.getModifiedAscSort = function getModifiedAscSort(cards) {\n return getModifiedDescSort(cards).reverse();\n};\n\n/**\n * Returns all cards Featured sorted\n * This just returns the original cards returned by Chimera IO\n * Chimera IO is responsible for handling featured sort\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - Cards in the original order given by Chimera IO\n */\nvar getFeaturedSort = exports.getFeaturedSort = function getFeaturedSort(cards) {\n return cards;\n};\n\n/**\n * Returns all Cards Date Sorted (Old To New)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by Date\n */\nvar getDateAscSort = exports.getDateAscSort = function getDateAscSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneDate = (0, _general.getByPath)(cardOne, 'cardDate');\n var cardTwoDate = (0, _general.getByPath)(cardTwo, 'cardDate');\n if (cardOneDate && cardTwoDate) {\n if (cardOneDate !== cardTwoDate) {\n return cardOneDate.localeCompare(cardTwoDate);\n }\n return (cardOne.id || '').localeCompare(cardTwo.id || '');\n }\n return 0;\n });\n};\n\n/**\n * Returns all Cards Date Sorted (New To Old)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by Date\n */\nvar getDateDescSort = exports.getDateDescSort = function getDateDescSort(cards) {\n return getDateAscSort(cards).reverse();\n};\n\n/**\n * Convert a path string like 'footer[0].left[1].startTime'\n * into an array of keys: ['footer','0','left','1','startTime'].\n */\nfunction parsePathString(pathString) {\n if (pathString) {\n return pathString.replace(/\\[(\\d+)\\]/g, '.$1').split('.');\n }\n return '';\n}\n\n/**\n * Safely get a nested property from an object\n * using a path string with dot/bracket notation.\n * e.g. safeGet(card, 'footer[0].left[1].startTime', '')\n */\nfunction safeGet(obj, pathString, defaultVal) {\n var parts = parsePathString(pathString);\n var current = obj;\n\n for (var i = 0; i < parts.length; i++) {\n if (current == null || (typeof current === 'undefined' ? 'undefined' : _typeof(current)) !== 'object') {\n return defaultVal;\n }\n var key = parts[i];\n if (!(key in current)) {\n return defaultVal;\n }\n current = current[key];\n }\n\n return current == null ? defaultVal : current;\n}\n\n/**\n * @func getEventSort\n * @desc This method, if needed, sets up Timing features for a collection\n (1) Has to check each card for card.contentArea.dateDetailText.startTime\n || endTime, if neither the card gets pushed to back of stack.\n (2) There are six categories for consideration\n a. Live: Current Time > Start Time && Current Time < End Time\n b. Upcoming: Current Time < Start Time and does not have\n \"OnDemand scheduled\" tag which cannot show until it is onDemand\n c. \"OnDemand scheduled\": UpComing, and has \"OnDemand scheduled\" tag,\n will not be seen until it is OnDemand.\n d. OnDemand: Current Time > End Time, does not have \"Live Expired\" tag\n e. Live Expired: OnDemand, has \"live-expired\" tag, and is no longer shown.\n f. All other cards, not having startTime || endTime.\n * @param {Array} cards - All cards in the card collection\n * @param {Object} urlState - URL search/query Params.\n * @returns {Array} visibleCards\n */\nvar getEventSort = exports.getEventSort = function getEventSort() {\n var cards = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var eventFilter = arguments[1];\n\n var transformedCards = cards.map(function (card) {\n return {\n id: card.id,\n startDate: safeGet(card, 'contentArea.dateDetailText.startTime', safeGet(card, 'footer[0].left[1].startTime', '')),\n endDate: safeGet(card, 'contentArea.dateDetailText.endTime', safeGet(card, 'footer[0].left[1].endTime', '')),\n tags: card.tags || [],\n cardDate: card.cardDate || '',\n contentArea: card.contentArea || {},\n createdDate: card.createdDate || '',\n ctaLink: card.ctaLink || '',\n description: card.description || '',\n footer: card.footer || [],\n initial: card.initial || {},\n isBookmarked: card.isBookmarked || false,\n modifiedDate: card.modifiedDate || '',\n overlayLink: card.overlayLink || '',\n overlays: card.overlays || {},\n showCard: card.showCard || {},\n search: card.search || {},\n styles: card.styles || {}\n };\n });\n\n var result = (0, _eventSort.eventTiming)(transformedCards, eventFilter);\n\n return {\n visibleSessions: result.visibleSessions,\n nextTransitionMs: result.nextTransitionMs\n };\n};\n/**\n * Gets all cards that matches a users search query\n * @param {String} query - The users search query\n * @param {Array} cards - All cards in the card collection\n * @param {Array} searchFields - All authored search fields to check\n * @returns {Array} - All cards that match the user's query for a given set of search fields\n */\nvar getCardsMatchingSearch = exports.getCardsMatchingSearch = function getCardsMatchingSearch(query, cards, searchFields) {\n if (!query) {\n return cards;\n }\n var searchQuery = (0, _general.sanitizeText)(query);\n var cardsMatchingQuery = getCardsMatchingQuery(cards, searchFields, searchQuery);\n return cardsMatchingQuery;\n};\n\n/**\n * Joins two sets of cards\n * @param {Array} cardSetOne - Set one of cards to join\n * @param {Array} cardSetTwo - Set two of cards to join\n * @returns {Array} - Cards sets one and two joined\n */\nvar joinCardSets = exports.joinCardSets = function joinCardSets(cardSetOne, cardSetTwo) {\n return cardSetOne.concat(cardSetTwo);\n};\n\n/**\n * Processes featured cards with raw cards received from API response\n * @param {Array} featuredCards - Authored Featured Cards\n * @param {Array} rawCards - Cards from API response\n * @returns {Array} - Set of cards processed\n */\nvar processCards = exports.processCards = function processCards(featuredCards, rawCards) {\n return (0, _general.removeDuplicatesByKey)(joinCardSets(featuredCards, rawCards), 'id');\n};\n\n/**\n * Helper method for effect that adds bookmark meta data to cards\n * @param {Array} cards - All cards in card collection\n * @param {Array} bookmarkedCardIds - All bookmarked card ids\n * @returns {Array} - Cards with bookmark meta data\n */\nvar getUpdatedCardBookmarkData = exports.getUpdatedCardBookmarkData = function getUpdatedCardBookmarkData(cards, bookmarkedCardIds) {\n return cards.map(function (card) {\n return _extends({}, card, {\n isBookmarked: bookmarkedCardIds.some(function (i) {\n return i === card.id;\n })\n });\n });\n};\n\nvar cache = new Map();\n\n/**\n * Returns a random number from [start, bound)\n * @param {int} start - Starting bound (inclusive)\n * @param {int} end - Ending bound (exclusive)\n * @returns {int} - A random integer between [start, bound)\n */\nfunction getRandom(start, end) {\n return Math.floor(Math.random() * (end - start)) + start;\n}\n\n/**\n * Returns a random sample of sampleSize from an array stream\n * @param {Array} stream - An array of items to select a random sample from\n * @param {int} sampleSize - The size of the random sample\n * @returns {Array} - A random sample from the array stream\n */\nfunction reservoirSample(stream, sampleSize) {\n var reservoir = [];\n /* eslint-disable-next-line no-restricted-syntax */\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = Object.entries(stream)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _ref2 = _step2.value;\n\n var _ref3 = _slicedToArray(_ref2, 2);\n\n var i = _ref3[0];\n var val = _ref3[1];\n\n if (reservoir.length < sampleSize) {\n reservoir.push(val);\n } else {\n var random = getRandom(0, i + 1);\n if (random < sampleSize) {\n reservoir[random] = val;\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return reservoir;\n}\n\n/**\n * Returns the input array randomly shuffled using the Fisher-Yates algorithm.\n *\n * @param {Array} arr - Array to be shuffled\n * @returns {Array} - The shuffled array\n */\nfunction fischerYatesShuffle(arr) {\n var currentIndex = arr.length;\n var randomIndex = void 0;\n while (currentIndex !== 0) {\n randomIndex = getRandom(0, currentIndex);\n /* eslint-disable-next-line no-plusplus */\n currentIndex--;\n var _ref4 = [arr[randomIndex], arr[currentIndex]];\n arr[currentIndex] = _ref4[0];\n arr[randomIndex] = _ref4[1];\n }\n return arr;\n}\n\n/**\n * Returns an an array of randomly sorted cards.\n *\n * If the cards for a given card collection have already been sorted, return from cache.\n * Otherwise sort randomly and cache result.\n *\n * @param {Array} cards - cards to be randomly sorted\n * @param {int} id - Id of the card collection the cards belong to.\n * @param {int} sampleSize - sample size used for the random sample\n * @returns {Array} - An array of randomly sorted cards\n */\nvar getRandomSort = exports.getRandomSort = function getRandomSort(cards, id, sampleSize, reservoirSize) {\n if (!cache.get(id)) {\n var stream = fischerYatesShuffle(cards.slice(0, reservoirSize));\n var randomSample = reservoirSample(stream, sampleSize);\n cache.set(id, randomSample);\n }\n return cache.get(id);\n};\n\nvar getFeaturedCards = exports.getFeaturedCards = function getFeaturedCards(ids, cards) {\n var ans = [];\n /* eslint-disable no-restricted-syntax */\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = ids[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var id = _step3.value;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = cards[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var card = _step4.value;\n\n if (card.id === id) {\n var c = JSON.parse(JSON.stringify(card)); // Deep clone using JSON methods\n c.isFeatured = true;\n ans.push(c);\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n return ans;\n};\n\n/**\n * Returns an sanitized (html friendly) string\n *\n * If the string conatins '&' it will be replaced with '&'\n * if the string contains '<' it will be replaced with '<'\n * if the string contains '>' it will be replaced with '>'\n *\n * @param {str} str - string to be sanitized\n * @returns {str} - satinized string\n */\nvar sanitizeStr = exports.sanitizeStr = function sanitizeStr(str) {\n return str.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>');\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZWFjdC9zcmMvanMvY29tcG9uZW50cy9Db25zb25hbnQvSGVscGVycy9IZWxwZXJzLmpzPzBlNDUiXSwibmFtZXMiOlsic2hvdWxkRGlzcGxheVBhZ2luYXRvciIsImVuYWJsZWQiLCJ0b3RhbENhcmRMaW1pdCIsInRvdGFsUmVzdWx0cyIsInRvdGFsQ2FyZExpbWl0Tm90WmVybyIsImNhcmRMZW5ndGhFeGNlZWRzRGlzcGxheUxpbWl0IiwiZ2V0TnVtQ2FyZHNUb1Nob3ciLCJyZXN1bHRzUGVyUGFnZSIsImN1cnJlbnRQYWdlIiwiTWF0aCIsIm1pbiIsImdldFRvdGFsUGFnZXMiLCJjZWlsIiwiZ2V0Q29sbGVjdGlvbkNhcmRzIiwic2hvd0Jvb2ttYXJrc09ubHkiLCJib29rbWFya2VkQ2FyZHMiLCJjb2xsZWN0aW9uQ2FyZHMiLCJnZXRCb29rbWFya2VkQ2FyZHMiLCJmaWx0ZXIiLCJjYXJkIiwiaXNCb29rbWFya2VkIiwiZ2V0QWN0aXZlRmlsdGVySWRzIiwiZmlsdGVycyIsIm1hcCIsImYiLCJpdGVtcyIsIml0ZW0iLCJzZWxlY3RlZCIsImlkIiwiZ2V0QWN0aXZlUGFuZWxzIiwiU2V0IiwiYWN0aXZlRmlsdGVycyIsInJlcGxhY2UiLCJnZXRVc2luZ1hvckFuZEZpbHRlciIsImZpbHRlclR5cGUiLCJmaWx0ZXJUeXBlcyIsIlhPUiIsIkFORCIsImdldFVzaW5nT3JGaWx0ZXIiLCJPUiIsImdldFVzaW5nVGltaW5nRmlsdGVyIiwiYWN0aXZlRmlsdGVyc1NldCIsImhhcyIsIkVWRU5UX1RJTUlOR19JRFMiLCJMSVZFIiwiT05ERU1BTkQiLCJVUENPTUlORyIsImNoZWNrRXZlbnRUaW1pbmciLCJ0aW1pbmciLCJjdXJNcyIsIkRhdGUiLCJub3ciLCJzdGFydE1zIiwic3RhcnREYXRlIiwiZW5kTXMiLCJlbmREYXRlIiwiaXNUaW1lZCIsImlzVXBDb21pbmciLCJpc09uRGVtYW5kIiwiaXNMaXZlIiwiZ2V0RmlsdGVyZWRDYXJkcyIsImNhcmRzIiwiYWN0aXZlUGFuZWxzIiwiY2F0ZWdvcmllcyIsInRpbWluZ1NldCIsInVzaW5nWG9yQW5kRmlsdGVyIiwidXNpbmdPckZpbHRlciIsInVzaW5nVGltaW5nRmlsdGVyIiwiZm9yRWFjaCIsImRlbGV0ZSIsInRlbXAiLCJzZXQiLCJsZW5ndGgiLCJpIiwiaiIsImNhdGVnb3J5IiwiayIsInRhZ3MiLCJjdXJyVGFnIiwiaW5jbHVkZXMiLCJhZGQiLCJwdXNoIiwic2l6ZSIsInRhZ0lkcyIsInRhZyIsInRhZ1BhbmVscyIsImFsbFBhbmVsc01hdGNoIiwicGFuZWwiLCJmaWx0ZXJzQ2hlY2tlZEluUGFuZWwiLCJFcnJvciIsImhpZ2hsaWdodENhcmQiLCJiYXNlQ2FyZCIsInNlYXJjaEZpZWxkIiwicXVlcnkiLCJkcmFmdENhcmQiLCJzZWFyY2hGaWVsZFZhbHVlIiwiaGlnaGxpZ2h0ZWRTZWFyY2hGaWVsZFZhbHVlIiwiY2FyZE1hdGNoZXNRdWVyeSIsInNlYXJjaFF1ZXJ5IiwiY2xlYW5TZWFyY2hGaWVsZFZhbHVlIiwiZ2V0VW5pcXVlQ2FyZFNldCIsInVuaXF1ZUNhcmRTZXQiLCJjYXJkTm90SW5TZXQiLCJmaW5kSW5kZXgiLCJlbGVtZW50IiwiZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5Iiwic2VhcmNoRmllbGRzIiwiY2FyZHNNYXRjaGluZ1F1ZXJ5IiwiaGFzVGFnIiwiY29tcGFyZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInNvbWUiLCJ0ZXN0IiwiZ2V0VGl0bGVBc2NTb3J0Iiwic29ydCIsImNhcmRPbmUiLCJjYXJkVHdvIiwiY2FyZE9uZVRpdGxlIiwiY2FyZFR3b1RpdGxlIiwibG9jYWxlQ29tcGFyZSIsImdldFRpdGxlRGVzY1NvcnQiLCJyZXZlcnNlIiwiZ2V0TW9kaWZpZWREZXNjU29ydCIsImNhcmRPbmVNb2REYXRlIiwiY2FyZFR3b01vZERhdGUiLCJnZXRNb2RpZmllZEFzY1NvcnQiLCJnZXRGZWF0dXJlZFNvcnQiLCJnZXREYXRlQXNjU29ydCIsImNhcmRPbmVEYXRlIiwiY2FyZFR3b0RhdGUiLCJnZXREYXRlRGVzY1NvcnQiLCJwYXJzZVBhdGhTdHJpbmciLCJwYXRoU3RyaW5nIiwic3BsaXQiLCJzYWZlR2V0Iiwib2JqIiwiZGVmYXVsdFZhbCIsInBhcnRzIiwiY3VycmVudCIsImtleSIsImdldEV2ZW50U29ydCIsImV2ZW50RmlsdGVyIiwidHJhbnNmb3JtZWRDYXJkcyIsImNhcmREYXRlIiwiY29udGVudEFyZWEiLCJjcmVhdGVkRGF0ZSIsImN0YUxpbmsiLCJkZXNjcmlwdGlvbiIsImZvb3RlciIsImluaXRpYWwiLCJtb2RpZmllZERhdGUiLCJvdmVybGF5TGluayIsIm92ZXJsYXlzIiwic2hvd0NhcmQiLCJzZWFyY2giLCJzdHlsZXMiLCJyZXN1bHQiLCJ2aXNpYmxlU2Vzc2lvbnMiLCJuZXh0VHJhbnNpdGlvbk1zIiwiZ2V0Q2FyZHNNYXRjaGluZ1NlYXJjaCIsImpvaW5DYXJkU2V0cyIsImNhcmRTZXRPbmUiLCJjYXJkU2V0VHdvIiwiY29uY2F0IiwicHJvY2Vzc0NhcmRzIiwiZmVhdHVyZWRDYXJkcyIsInJhd0NhcmRzIiwiZ2V0VXBkYXRlZENhcmRCb29rbWFya0RhdGEiLCJib29rbWFya2VkQ2FyZElkcyIsImNhY2hlIiwiTWFwIiwiZ2V0UmFuZG9tIiwic3RhcnQiLCJlbmQiLCJmbG9vciIsInJhbmRvbSIsInJlc2Vydm9pclNhbXBsZSIsInN0cmVhbSIsInNhbXBsZVNpemUiLCJyZXNlcnZvaXIiLCJPYmplY3QiLCJlbnRyaWVzIiwidmFsIiwiZmlzY2hlcllhdGVzU2h1ZmZsZSIsImFyciIsImN1cnJlbnRJbmRleCIsInJhbmRvbUluZGV4IiwiZ2V0UmFuZG9tU29ydCIsInJlc2Vydm9pclNpemUiLCJnZXQiLCJzbGljZSIsInJhbmRvbVNhbXBsZSIsImdldEZlYXR1cmVkQ2FyZHMiLCJpZHMiLCJhbnMiLCJjIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiaXNGZWF0dXJlZCIsInNhbml0aXplU3RyIiwic3RyIiwicmVwbGFjZUFsbCJdLCJt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QTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQVk1QyxXQUFPRCxHQUFQO0FBQ0gsQ0FiTTs7QUFlUDs7Ozs7Ozs7OztBQVVPLElBQU1NLG9DQUFjLFNBQWRBLFdBQWM7QUFBQSxXQUFPQyxJQUM3QkMsVUFENkIsQ0FDbEIsT0FEa0IsRUFDVCxHQURTLEVBRTdCQSxVQUY2QixDQUVsQixNQUZrQixFQUVWLEdBRlUsRUFHN0JBLFVBSDZCLENBR2xCLE1BSGtCLEVBR1YsR0FIVSxDQUFQO0FBQUEsQ0FBcEIiLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcHJvZHVjZSwgeyBlbmFibGVFUzUgfSBmcm9tICdpbW1lcic7XG5cbmltcG9ydCB7IEhpZ2hsaWdodFNlYXJjaEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmcnO1xuaW1wb3J0IHtcbiAgICBnZXRCeVBhdGgsXG4gICAgc2V0QnlQYXRoLFxuICAgIGlzU3VwZXJzZXQsXG4gICAgaW50ZXJzZWN0aW9uLFxuICAgIHNhbml0aXplVGV4dCxcbiAgICBjaGFpbkZyb21JdGVyYWJsZSxcbiAgICByZW1vdmVEdXBsaWNhdGVzQnlLZXksXG59IGZyb20gJy4vZ2VuZXJhbCc7XG5pbXBvcnQgeyBFVkVOVF9USU1JTkdfSURTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBldmVudFRpbWluZyxcbiAgICBjb252ZXJ0RGF0ZVN0clRvTXMsXG4gICAgZGVmaW5lSXNPbkRlbWFuZCxcbiAgICBkZWZpbmVJc1VwY29taW5nLFxufSBmcm9tICcuL2V2ZW50U29ydCc7XG5cbi8qKlxuICogTmVlZHMgdG8gYmUgZXhwbGljaXRseSBjYWxsZWQgYnkgaW1tZXIgLSBOZWVkZWQgZm9yIElFIDExIHN1cHBvcnRcbiAqIEB0eXBlIHtGdW5jdGlvbn1cbiAqL1xuZW5hYmxlRVM1KCk7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHBhZ2luYXRvciBjb21wb25lbnQgc2hvdWxkIGRpc3BsYXlcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZW5hYmxlZCAtIEF1dGhvcmVkIGZsYWcgd2hldGhlciBjb21wb25lbnQgc2hvdWxkIGRpc3BsYXkgb3Igbm90XG4gKiBAcGFyYW0ge051bWJlcn0gdG90YWxDYXJkTGltaXQgLSBBdXRob3JlZCBsaW1pdCBmb3IgaG93IG1hbnkgY2FyZHMgc2hvdWxkIGRpc3BsYXlcbiAqIEBwYXJhbSB7TnVtYmVyfSB0b3RhbFJlc3VsdHMgLSBUb3RhbCBjYXJkcyBpbiBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSBXaGV0aGVyIFBhZ2luYXRvciBzaG91bGQgZGlzcGxheSBvciBub3RcbiAqL1xuZXhwb3J0IGNvbnN0IHNob3VsZERpc3BsYXlQYWdpbmF0b3IgPSAoZW5hYmxlZCwgdG90YWxDYXJkTGltaXQsIHRvdGFsUmVzdWx0cykgPT4ge1xuICAgIGNvbnN0IHRvdGFsQ2FyZExpbWl0Tm90WmVybyA9IHRvdGFsQ2FyZExpbWl0ID4gMDtcbiAgICBjb25zdCBjYXJkTGVuZ3RoRXhjZWVkc0Rpc3BsYXlMaW1pdCA9IHRvdGFsUmVzdWx0cyA+IHRvdGFsQ2FyZExpbWl0O1xuXG4gICAgcmV0dXJuIGVuYWJsZWQgJiZcbiAgICAgICAgdG90YWxDYXJkTGltaXROb3RaZXJvICYmXG4gICAgICAgICFjYXJkTGVuZ3RoRXhjZWVkc0Rpc3BsYXlMaW1pdDtcbn07XG5cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGhvdyBtYW55IGNhcmRzIHRvIHNob3dcbiAqIEBwYXJhbSB7TnVtYmVyfSByZXN1bHRzUGVyUGFnZSAtIEhvdyBtYW55IGNhcmRzIHNob3VsZCBzaG93IHBlciBwYWdlIChBdXRob3JlZCBGaWVsZClcbiAqIEBwYXJhbSB7TnVtYmVyfSBjdXJyZW50UGFnZSAtIEN1cnJlbnQgcGFnZSB1c2VyIGlzIG9uXG4gKiBAcGFyYW0ge051bWJlcn0gdG90YWxSZXN1bHRzIC0gVG90YWwgY2FyZHMgaW4gY29sbGVjdGlvblxuICogQHJldHVybnMge051bWJlcn0gLSBOdW1iZXIgb2YgY2FyZHMgdG8gc2hvd1xuICovXG5leHBvcnQgY29uc3QgZ2V0TnVtQ2FyZHNUb1Nob3cgPSAocmVzdWx0c1BlclBhZ2UsIGN1cnJlbnRQYWdlLCB0b3RhbFJlc3VsdHMpID0+XG4gICAgTWF0aC5taW4ocmVzdWx0c1BlclBhZ2UgKiBjdXJyZW50UGFnZSwgdG90YWxSZXN1bHRzKTtcblxuLyoqXG4gKiBHZXRzIFRvdGFsIFBhZ2UgQ291bnQgKEZvciBQYWdpbmF0b3IgQ29tcG9uZW50KVxuICogQHBhcmFtIHtOdW1iZXJ9IHJlc3VsdHNQZXJQYWdlIC0gSG93IG1hbnkgY2FyZHMgc2hvdWxkIHNob3cgcGVyIHBhZ2UgKEF1dGhvcmVkIEZpZWxkKVxuICogQHBhcmFtIHtOdW1iZXJ9IHRvdGFsUmVzdWx0cyAtIFRvdGFsIGNhcmRzIGluIGNvbGxlY3Rpb25cbiAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVG90YWwgbnVtYmVyIG9mIHBhZ2VzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUb3RhbFBhZ2VzID0gKHJlc3VsdHNQZXJQYWdlLCB0b3RhbFJlc3VsdHMpID0+IHtcbiAgICBpZiAocmVzdWx0c1BlclBhZ2UgPT09IDApIHJldHVybiAwO1xuICAgIHJldHVybiBNYXRoLmNlaWwodG90YWxSZXN1bHRzIC8gcmVzdWx0c1BlclBhZ2UpO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gc2hvdyBjb2xsZWN0aW9uIGNhcmRzIG9yIGJvb2ttYXJrZWQgY2FyZHMgb25seVxuICogKElmIGF1dGhvciBjaG9vc2VzIGJvb2ttYXJrcyBvbmx5IGNvbGxlY3Rpb24pXG5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc2hvd0Jvb2ttYXJrc09ubHkgLSBBdXRob3JlZCBGbGFnIHRvIEZvcmNlIENhcmQgQ29sbGVjdGlvbiBUb1xuICogT25seSBTaG93IEJvb2ttYXJrc1xuICogQHBhcmFtIHtBcnJheX0gYm9va21hcmtlZENhcmRzIC0gQm9va21hcmtlZCBjYXJkcyBvbmx5XG4gKiBAcGFyYW0ge0FycmF5fSBjb2xsZWN0aW9uQ2FyZHMgLSBBbGwgY2FyZHNcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBXaGljaCBjb2xsZWN0aW9uIG9mIGNhcmRzIHRvIHNob3dcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvbGxlY3Rpb25DYXJkcyA9IChzaG93Qm9va21hcmtzT25seSwgYm9va21hcmtlZENhcmRzLCBjb2xsZWN0aW9uQ2FyZHMpID0+IChcbiAgICBzaG93Qm9va21hcmtzT25seSA/IGJvb2ttYXJrZWRDYXJkcyA6IGNvbGxlY3Rpb25DYXJkc1xuKTtcblxuLyoqXG4gKiBGaWx0ZXIgdG8gZ2V0IGFsbCBib29rbWFya2VkIGNhcmRzXG4gKiBAcGFyYW0ge0FycmF5fSBjb2xsZWN0aW9uQ2FyZHMgLSBBbGwgY2FyZHNcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBbGwgYm9va21hcmtlZCBjYXJkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtlZENhcmRzID1cbiAgICBjb2xsZWN0aW9uQ2FyZHMgPT4gY29sbGVjdGlvbkNhcmRzLmZpbHRlcihjYXJkID0+IGNhcmQuaXNCb29rbWFya2VkKTtcblxuLyoqXG4gKiBHZXRzIGFsbCBmaWx0ZXJzIGNoZWNrZWQgYnkgYSB1c2VyXG4gKiBAcGFyYW0ge0FycmF5fSBmaWx0ZXJzIC0gQWxsIGZpbHRlcnMgb24gcGFnZVxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjaGVja2VkIGZpbHRlcnMgYnkgdXNlclxuICovXG5leHBvcnQgY29uc3QgZ2V0QWN0aXZlRmlsdGVySWRzID0gZmlsdGVycyA9PiBjaGFpbkZyb21JdGVyYWJsZShmaWx0ZXJzLm1hcChmID0+IGYuaXRlbXMpKVxuICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKVxuICAgIC5tYXAoaXRlbSA9PiBpdGVtLmlkKTtcblxuLyoqXG4gKiBHZXRzIGFsbCBmaWx0ZXIgcGFuZWxzIHdpdGggZmlsdGVycyBjaGVja2VkIGJ5IGEgdXNlclxuICogQHBhcmFtIHtBcnJheX0gYWN0aXZlRmlsdGVycyAtIEFsbCBmaWx0ZXJzIGNoZWNrZWRcbiAqIEByZXR1cm5zIHtTZXR9IC0gU2V0IG9mIGZpbHRlciBwYW5lbHMgd2l0aCBmaWx0ZXJzIGNoZWNrZWQgb24gdGhlIHBhZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFjdGl2ZVBhbmVscyA9XG4gICAgYWN0aXZlRmlsdGVycyA9PiBuZXcgU2V0KGFjdGl2ZUZpbHRlcnMubWFwKGZpbHRlciA9PiBmaWx0ZXIucmVwbGFjZSgvXFwvLiokLywgJycpKSk7XG5cbi8qKlxuICogSGVscGVyIG1ldGhvZCB0byBkZXJtaW5lIHdoZXRoZXIgYXV0aG9yIGNob3NlIFhPUiBvciBBTkQgdHlwZSBmaWx0ZXJpbmdcbiAqIEBwYXJhbSB7U3RyaW5nfSBmaWx0ZXJUeXBlIC0gRmlsdGVyIHVzZWQgaW4gY29sbGVjdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGZpbHRlclR5cGVzIC0gQWxsIHBvc3NpYmxlIGZpbHRlcnNcbiAqIEByZXR1cm5zIHtCb29sZWFufSAtIFdoZXRoZXIgY29sbGVjdGlvbiBpcyB1c2luZyBhIFhPUiBvciBBTkQgdHlwZSBmaWx0ZXJpbmdcbiAqL1xuY29uc3QgZ2V0VXNpbmdYb3JBbmRGaWx0ZXIgPSAoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpID0+IChcbiAgICBmaWx0ZXJUeXBlID09PSBmaWx0ZXJUeXBlcy5YT1IgfHwgZmlsdGVyVHlwZSA9PT0gZmlsdGVyVHlwZXMuQU5EXG4pO1xuXG4vKipcbiAqIEhlbHBlciBtZXRob2QgdG8gZGVybWluZSB3aGV0aGVyIGF1dGhvciBjaG9zZSBPUiB0eXBlIGZpbHRlcmluZ1xuICogQHBhcmFtIHtTdHJpbmd9IGZpbHRlclR5cGUgLSBGaWx0ZXIgdXNlZCBpbiBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gZmlsdGVyVHlwZXMgLSBBbGwgcG9zc2libGUgZmlsdGVyc1xuICogQHJldHVybnMge0Jvb2xlYW59IC0gV2hldGhlciBjb2xsZWN0aW9uIGlzIHVzaW5nIE9SIHR5cGUgZmlsdGVyaW5nXG4gKi9cbmNvbnN0IGdldFVzaW5nT3JGaWx0ZXIgPSAoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpID0+IChcbiAgICBmaWx0ZXJUeXBlID09PSBmaWx0ZXJUeXBlcy5PUlxuKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIHRvIGRldGVybWluZSB3aGV0aGVyIHdlIGFyZSBkb2luZyBldmVudCBmaWx0ZXJpbmcgZnJvbSB0aGUgc2lkZSBiYXIgdGFnc1xuICogQHBhcmFtIHtTZXR9IGFjdGl2ZUZpbHRlclNldFxuICogQHJldHVybnMge0Jvb2xlYW59IC0gV2hldGhlciBjb2xsZWN0aW9uIGhhcyBhbiBldmVudCBmaWx0ZXJcbiAqL1xuY29uc3QgZ2V0VXNpbmdUaW1pbmdGaWx0ZXIgPSBhY3RpdmVGaWx0ZXJzU2V0ID0+IChcbiAgICBhY3RpdmVGaWx0ZXJzU2V0LmhhcyhFVkVOVF9USU1JTkdfSURTLkxJVkUpIHx8XG4gICAgYWN0aXZlRmlsdGVyc1NldC5oYXMoRVZFTlRfVElNSU5HX0lEUy5PTkRFTUFORCkgfHxcbiAgICBhY3RpdmVGaWx0ZXJzU2V0LmhhcyhFVkVOVF9USU1JTkdfSURTLlVQQ09NSU5HKVxuKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBjYXJkIGlzIHdpdGhpbiBldmVudCB0aW1pbmdcbiAqIEBwYXJhbSB7T2JqZWN0fSBjYXJkXG4gKiBAcGFyYW0ge1NldH0gdGltaW5nXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSB3aGV0aGVyIHRoZSBjYXJkIGZhbGxzIHdpdGhpbiBzZWxlY3RlZCB0aW1pbmcgb3B0aW9uc1xuICovXG5jb25zdCBjaGVja0V2ZW50VGltaW5nID0gKGNhcmQsIHRpbWluZykgPT4ge1xuICAgIGNvbnN0IGN1ck1zID0gRGF0ZS5ub3coKTtcbiAgICAvLyBUaW1lcyBpbiBtaWxsaXNlY29uZHNcbiAgICBjb25zdCBzdGFydE1zID0gY29udmVydERhdGVTdHJUb01zKGNhcmQuc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmRNcyA9IGNvbnZlcnREYXRlU3RyVG9NcyhjYXJkLmVuZERhdGUpO1xuICAgIC8vIFRpbWVkIGNhdGVnb3JpZXNcbiAgICBjb25zdCBpc1RpbWVkID0gISEoc3RhcnRNcyAmJiBlbmRNcyk7XG4gICAgY29uc3QgaXNVcENvbWluZyA9IGlzVGltZWQgP1xuICAgICAgICBkZWZpbmVJc1VwY29taW5nKGN1ck1zLCBzdGFydE1zKSA6IGZhbHNlO1xuICAgIGNvbnN0IGlzT25EZW1hbmQgPSBpc1RpbWVkICYmICFpc1VwQ29taW5nID9cbiAgICAgICAgZGVmaW5lSXNPbkRlbWFuZChjdXJNcywgZW5kTXMpIDogZmFsc2U7XG4gICAgY29uc3QgaXNMaXZlID0gISEoaXNUaW1lZCAmJiAhaXNVcENvbWluZyAmJiAhaXNPbkRlbWFuZCAmJiBzdGFydE1zKTtcblxuICAgIC8vIGlmIHlvdSBoYXZlIHRpbWluZyBmaWx0ZXJzIGFjdGl2ZSBhbmQgdGhlcmUgaXMgbm8gdGltaW5nIG9uIHRoZSBjYXJkIGl0IHNob3VsZCBiZSByZWplY3RlZFxuICAgIGlmICghaXNUaW1lZCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aW1pbmcuaGFzKEVWRU5UX1RJTUlOR19JRFMuVVBDT01JTkcpICYmIGlzVXBDb21pbmcpIHJldHVybiB0cnVlO1xuICAgIGVsc2UgaWYgKHRpbWluZy5oYXMoRVZFTlRfVElNSU5HX0lEUy5PTkRFTUFORCkgJiYgaXNPbkRlbWFuZCkgcmV0dXJuIHRydWU7XG4gICAgZWxzZSBpZiAodGltaW5nLmhhcyhFVkVOVF9USU1JTkdfSURTLkxJVkUpICYmIGlzTGl2ZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBXaWxsIHJldHVybiBhbGwgY2FyZHMgdGhhdCBtYXRjaCBhIHNldCBvZiBmaWx0ZXJzXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY29sbGVjdGlvblxuICogQHBhcmFtIHtBcnJheX0gYWN0aXZlRmlsdGVycyAtIEFsbCBmaWx0ZXJzIHNlbGVjdGVkIGJ5IHVzZXJcbiAqIEBwYXJhbSB7QXJyYXl9IGFjdGl2ZVBhbmVscyAtIEFjdGl2ZSBmaWx0ZXJzIHBhbmVscyBzZWxlY3RlZCBieSB1c2VyXG4gKiBAcGFyYW0ge1N0cmluZ30gZmlsdGVyVHlwZSAtIEZpbHRlciB1c2VkIGluIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWx0ZXJUeXBlcyAtIEFsbCBwb3NzaWJsZSBmaWx0ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggZmlsdGVyIG9wdGlvbnNcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJlZENhcmRzID0gKGNhcmRzLCBhY3RpdmVGaWx0ZXJzLCBhY3RpdmVQYW5lbHMsIGZpbHRlclR5cGUsIGZpbHRlclR5cGVzLCBjYXRlZ29yaWVzKSA9PiB7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVyc1NldCA9IG5ldyBTZXQoYWN0aXZlRmlsdGVycyk7XG4gICAgY29uc3QgdGltaW5nU2V0ID0gaW50ZXJzZWN0aW9uKGFjdGl2ZUZpbHRlcnNTZXQsIG5ldyBTZXQoW1xuICAgICAgICBFVkVOVF9USU1JTkdfSURTLkxJVkUsXG4gICAgICAgIEVWRU5UX1RJTUlOR19JRFMuT05ERU1BTkQsXG4gICAgICAgIEVWRU5UX1RJTUlOR19JRFMuVVBDT01JTkcsXG4gICAgXSkpO1xuICAgIGNvbnN0IHVzaW5nWG9yQW5kRmlsdGVyID0gZ2V0VXNpbmdYb3JBbmRGaWx0ZXIoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpO1xuICAgIGNvbnN0IHVzaW5nT3JGaWx0ZXIgPSBnZXRVc2luZ09yRmlsdGVyKGZpbHRlclR5cGUsIGZpbHRlclR5cGVzKTtcbiAgICBjb25zdCB1c2luZ1RpbWluZ0ZpbHRlciA9IGdldFVzaW5nVGltaW5nRmlsdGVyKGFjdGl2ZUZpbHRlcnNTZXQpO1xuICAgIC8vIHJlbW92ZSB0aGUgdGltZSBlbGVtZW50cyBmcm9tIHRoZSBhY3RpdmUgZmlsdGVyIHNldCBiZWZvcmUgeW91IGFjdHVhbGx5IGZpbHRlclxuICAgIHRpbWluZ1NldC5mb3JFYWNoKGZpbHRlciA9PiBhY3RpdmVGaWx0ZXJzU2V0LmRlbGV0ZShmaWx0ZXIpKTtcblxuICAgIGNvbnN0IHRlbXAgPSBbXTtcbiAgICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gICAgaWYgKGNhdGVnb3JpZXMgJiYgY2F0ZWdvcmllcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXJkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2FyZCA9IGNhcmRzW2ldO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBjYXRlZ29yaWVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBjYXRlZ29yaWVzW2pdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgY2FyZC50YWdzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJUYWcgPSBjYXJkLnRhZ3Nba107XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyVGFnLmlkLmluY2x1ZGVzKGNhdGVnb3J5KSAmJiAhc2V0LmhhcyhjYXJkLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0LmFkZChjYXJkLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAucHVzaChjYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgICAgICAgY2FyZHMgPSB0ZW1wO1xuICAgIH1cblxuICAgIGlmIChhY3RpdmVGaWx0ZXJzU2V0LnNpemUgPT09IDAgJiYgIXVzaW5nVGltaW5nRmlsdGVyKSByZXR1cm4gY2FyZHM7XG5cbiAgICByZXR1cm4gY2FyZHMuZmlsdGVyKChjYXJkKSA9PiB7XG4gICAgICAgIGlmICghY2FyZC50YWdzICYmICF1c2luZ1RpbWluZ0ZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHVzaW5nVGltaW5nRmlsdGVyICYmICFjaGVja0V2ZW50VGltaW5nKGNhcmQsIHRpbWluZ1NldCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHVzaW5nVGltaW5nRmlsdGVyICYmXG4gICAgICAgICAgICBjaGVja0V2ZW50VGltaW5nKGNhcmQsIHRpbWluZ1NldCkgJiZcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNTZXQuc2l6ZSA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSBvbmx5IGZpbHRlcnMgYmVpbmcgcGVyZm9ybWVkIGFyZSBhYm91dCBldmVudCB0aW1pbmdcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHlvdSBwcm9jZWVkIHRvIGNoZWNrIHRoZSBvdGhlciB0YWdzIGluIHRoZSBjYXJkcyBhZnRlciB0aGUgdGltZSBmaWx0ZXIgY2hlY2tzXG4gICAgICAgIGNvbnN0IHRhZ0lkcyA9IG5ldyBTZXQoY2FyZC50YWdzLm1hcCh0YWcgPT4gdGFnLmlkKSk7XG5cbiAgICAgICAgaWYgKHVzaW5nWG9yQW5kRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNTdXBlcnNldCh0YWdJZHMsIGFjdGl2ZUZpbHRlcnNTZXQpO1xuICAgICAgICB9IGVsc2UgaWYgKHVzaW5nT3JGaWx0ZXIgJiYgYWN0aXZlUGFuZWxzLnNpemUgPCAyKSB7XG4gICAgICAgICAgICByZXR1cm4gaW50ZXJzZWN0aW9uKHRhZ0lkcywgYWN0aXZlRmlsdGVyc1NldCkuc2l6ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1c2luZ09yRmlsdGVyKSB7XG4gICAgICAgICAgICAvLyBjaGVjayBpZiBjYXJkJyB0YWdzIHBhbmVscyBpbmNsdWRlIGFsbCBwYW5lbHMgd2l0aCBzZWxlY3RlZCBmaWx0ZXJzXG4gICAgICAgICAgICBjb25zdCB0YWdQYW5lbHMgPSBuZXcgU2V0KGNhcmQudGFncy5tYXAodGFnID0+IHRhZy5pZC5yZXBsYWNlKC9cXC8uKiQvLCAnJykpKTtcbiAgICAgICAgICAgIGlmICghaXNTdXBlcnNldCh0YWdQYW5lbHMsIGFjdGl2ZVBhbmVscykpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgY2FyZCcgdGFncyBpbmNsdWRlIGFsbCBwYW5lbHMgd2l0aCBzZWxlY3RlZCBmaWx0ZXJzXG4gICAgICAgICAgICBsZXQgYWxsUGFuZWxzTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHBhbmVsIG9mIGFjdGl2ZVBhbmVscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnNDaGVja2VkSW5QYW5lbCA9IG5ldyBTZXQoWy4uLmFjdGl2ZUZpbHRlcnNTZXRdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaWQgPT4gaWQuaW5jbHVkZXMocGFuZWwsIDApKSk7XG4gICAgICAgICAgICAgICAgaWYgKCFpbnRlcnNlY3Rpb24odGFnSWRzLCBmaWx0ZXJzQ2hlY2tlZEluUGFuZWwpLnNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsUGFuZWxzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWxsUGFuZWxzTWF0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgZmlsdGVyIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcbiAgICB9KTtcbn07XG5cbi8qKlxuICogSWYgYSBjYXJkIG1hdGNoZXMgYSBzZWFyY2ggcXVlcnksIHRoaXMgbWV0aG9kIHdpbGwgaGlnaGxpZ2h0IGl0XG4gKiBAcGFyYW0ge0FycmF5fSBiYXNlQ2FyZCAtIENhcmQgdG8gaGlnaGxpZ2h0XG4gKiBAcGFyYW0ge0FycmF5fSBzZWFyY2hGaWVsZCAtIEZpZWxkIHRoYXQgbWF0Y2hlcyBRdWVyeVxuICogQHBhcmFtIHtTdHJpbmd9IHF1ZXJ5IC0gVGhlIHVzZXJzIHNlYXJjaCBxdWVyeVxuICogQHJldHVybnMge0NhcmR9IFRoZSBoaWdobGlnaHRlZCBjYWFyZFxuICovXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0Q2FyZCA9IChiYXNlQ2FyZCwgc2VhcmNoRmllbGQsIHF1ZXJ5KSA9PiBwcm9kdWNlKGJhc2VDYXJkLCAoZHJhZnRDYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoRmllbGRWYWx1ZSA9IGdldEJ5UGF0aChkcmFmdENhcmQsIHNlYXJjaEZpZWxkLCBudWxsKTtcbiAgICBpZiAoc2VhcmNoRmllbGRWYWx1ZSA9PT0gbnVsbCB8fCBzZWFyY2hGaWVsZFZhbHVlID09PSAnJykgcmV0dXJuO1xuICAgIGNvbnN0IGhpZ2hsaWdodGVkU2VhcmNoRmllbGRWYWx1ZSA9IEhpZ2hsaWdodFNlYXJjaEZpZWxkKHNlYXJjaEZpZWxkVmFsdWUsIHF1ZXJ5KTtcbiAgICBzZXRCeVBhdGgoZHJhZnRDYXJkLCBzZWFyY2hGaWVsZCwgaGlnaGxpZ2h0ZWRTZWFyY2hGaWVsZFZhbHVlKTtcbn0pO1xuXG4vKipcbiAqIElmIGEgY2FyZCBtYXRjaGVzIGEgc2VhcmNoIHF1ZXJ5LCB0aGlzIG1ldGhvZCB3aWxsIGhpZ2hsaWdodCBpdFxuICogQHBhcmFtIHtBcnJheX0gc2VhcmNoRmllbGQgLSBGaWVsZCB0aGF0IG1hdGNoZXMgUXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmQgLSBDYXJkIHRvIGNoZWNrXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgLSBUaGUgdXNlcnMgc2VhcmNoIHF1ZXJ5XG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gSWYgdGhlIGNhcmQgbWF0Y2hlcyB0aGUgdXNlcidzIHNlYXJjaCBxdWVyeVxuICovXG5jb25zdCBjYXJkTWF0Y2hlc1F1ZXJ5ID0gKHNlYXJjaEZpZWxkLCBjYXJkLCBzZWFyY2hRdWVyeSkgPT4ge1xuICAgIGNvbnN0IHNlYXJjaEZpZWxkVmFsdWUgPSBnZXRCeVBhdGgoY2FyZCwgc2VhcmNoRmllbGQsICcnKTtcbiAgICBjb25zdCBjbGVhblNlYXJjaEZpZWxkVmFsdWUgPSBzYW5pdGl6ZVRleHQoc2VhcmNoRmllbGRWYWx1ZSk7XG4gICAgcmV0dXJuIGNsZWFuU2VhcmNoRmllbGRWYWx1ZS5pbmNsdWRlcyhzZWFyY2hRdWVyeSk7XG59O1xuXG4vKipcbiAqIEhlbHBlciB0byBpbXBsZW1lbnQgU2V0KCkgZGF0YSBzdHJ1Y3R1cmUgdy8gVmFuaWxsYSBBcnJheXNcbiAqIFdvdWxkJ3ZlIHVzZWQgbmV3IFNldCgpLCBidXQgcG9seWZpbGwgaGFzIGJ1ZyBpbiBJRTExIGNvbnZlcnRpbmcgQXJyYXkuZnJvbShuZXcgU2V0KCkpXG4gKlxuICogQHBhcmFtIHtBcnJheX0gY2FyZHNcbiAqIEByZXR1cm4ge0FycmF5fSAtIFVuaXF1ZSBDYXJkIFNldCBmcm9tIENhcmRzIChmaWx0ZXJpbmcgYmFzZWQgb2ZmIHVuaXF1ZSBjYXJkIGlkcylcbiAqL1xuY29uc3QgZ2V0VW5pcXVlQ2FyZFNldCA9IChjYXJkcykgPT4ge1xuICAgIGNvbnN0IHVuaXF1ZUNhcmRTZXQgPSBbXTtcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhcmROb3RJblNldCA9IHVuaXF1ZUNhcmRTZXQuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5pZCA9PT0gY2FyZC5pZCkgPD0gLTE7XG4gICAgICAgIGlmIChjYXJkTm90SW5TZXQpIHtcbiAgICAgICAgICAgIHVuaXF1ZUNhcmRTZXQucHVzaChjYXJkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB1bmlxdWVDYXJkU2V0O1xufTtcblxuLyoqXG4gKiBHZXRzIGFsbCBjYXJkcyB0aGF0IG1hdGNoZXMgYSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl9IHNlYXJjaEZpZWxkcyAtIEFsbCBhdXRob3JlZCBzZWFyY2ggZmllbGRzIHRvIGNoZWNrXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgLSBUaGUgdXNlcnMgc2VhcmNoIHF1ZXJ5XG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggdGhlIHVzZXIncyBxdWVyeSBmb3IgYSBnaXZlbiBzZXQgb2Ygc2VhcmNoIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5ID0gKGNhcmRzLCBzZWFyY2hGaWVsZHMsIHF1ZXJ5KSA9PiB7XG4gICAgY29uc3QgY2FyZHNNYXRjaGluZ1F1ZXJ5ID0gW107XG4gICAgY2FyZHMuZm9yRWFjaCgoY2FyZCkgPT4ge1xuICAgICAgICBzZWFyY2hGaWVsZHMuZm9yRWFjaCgoc2VhcmNoRmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjYXJkTWF0Y2hlc1F1ZXJ5KHNlYXJjaEZpZWxkLCBjYXJkLCBxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICBjYXJkc01hdGNoaW5nUXVlcnkucHVzaChjYXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdldFVuaXF1ZUNhcmRTZXQoY2FyZHNNYXRjaGluZ1F1ZXJ5KTtcbn07XG4vKipcbiAqIEBmdW5jIGhhc1RhZ1xuICogQGRlc2MgRG9lcyBjdXJyZW50IGVudGl0eSBoYXZlIGEgc3BlY2lmaWMgdGFnP1xuICogQHBhcmFtIHtSZWdFeHB9IGNvbXBhcmUgYSByZWdFeCBwYXR0ZXJuIHRvIHRlc3QgZm9yXG4gKiBAcGFyYW0ge0FycmF5fSB0YWdzIGFuIGFycmF5IG9mIHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1RhZyA9IChjb21wYXJlLCB0YWdzID0gW10pID0+IHtcbiAgICBpZiAoIXRhZ3MubGVuZ3RoIHx8IGNvbXBhcmUuY29uc3RydWN0b3IubmFtZSAhPT0gJ1JlZ0V4cCcpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0YWdzLnNvbWUoKHsgaWQgPSAnJyB9ID0ge30pID0+IGlkICYmIGNvbXBhcmUudGVzdChpZCkpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyB0aXRsZSBzb3J0ZWQgKEEtWilcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBbGwgY2FyZHMgc29ydGVkIGJ5IHRpdGxlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUaXRsZUFzY1NvcnQgPSBjYXJkcyA9PiBjYXJkcy5zb3J0KChjYXJkT25lLCBjYXJkVHdvKSA9PiB7XG4gICAgY29uc3QgY2FyZE9uZVRpdGxlID0gZ2V0QnlQYXRoKGNhcmRPbmUsICdjb250ZW50QXJlYS50aXRsZScpO1xuICAgIGNvbnN0IGNhcmRUd29UaXRsZSA9IGdldEJ5UGF0aChjYXJkVHdvLCAnY29udGVudEFyZWEudGl0bGUnKTtcbiAgICByZXR1cm4gY2FyZE9uZVRpdGxlLmxvY2FsZUNvbXBhcmUoY2FyZFR3b1RpdGxlKTtcbn0pO1xuXG4vKipcbiAqIFJldHVybnMgYWxsIGNhcmRzIHRpdGxlIHNvcnRlZCAoWi1BKVxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgdGl0bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRpdGxlRGVzY1NvcnQgPSBjYXJkcyA9PiBnZXRUaXRsZUFzY1NvcnQoY2FyZHMpLnJldmVyc2UoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyBzb3J0ZWQgYnkgZGF0ZSBtb2RpZmllZCBuZXdlc3QgdG8gb2xkZXN0XG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHNvcnRlZCBieSB0aXRsZVxuICovXG5leHBvcnQgY29uc3QgZ2V0TW9kaWZpZWREZXNjU29ydCA9IGNhcmRzID0+IGNhcmRzLnNvcnQoKGNhcmRPbmUsIGNhcmRUd28pID0+IHtcbiAgICBjb25zdCBjYXJkT25lTW9kRGF0ZSA9IGdldEJ5UGF0aChjYXJkT25lLCAnbW9kaWZpZWREYXRlJyk7XG4gICAgY29uc3QgY2FyZFR3b01vZERhdGUgPSBnZXRCeVBhdGgoY2FyZFR3bywgJ21vZGlmaWVkRGF0ZScpO1xuICAgIGlmIChjYXJkT25lTW9kRGF0ZSAmJiBjYXJkVHdvTW9kRGF0ZSkge1xuICAgICAgICByZXR1cm4gY2FyZFR3b01vZERhdGUubG9jYWxlQ29tcGFyZShjYXJkT25lTW9kRGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiAwO1xufSk7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgY2FyZHMgc29ydGVkIGJ5IGRhdGUgbW9kaWZpZWQgb2xkZXN0IHRvIG5ld2VzdFxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgdGl0bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1vZGlmaWVkQXNjU29ydCA9IGNhcmRzID0+IGdldE1vZGlmaWVkRGVzY1NvcnQoY2FyZHMpLnJldmVyc2UoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyBGZWF0dXJlZCBzb3J0ZWRcbiAqIFRoaXMganVzdCByZXR1cm5zIHRoZSBvcmlnaW5hbCBjYXJkcyByZXR1cm5lZCBieSBDaGltZXJhIElPXG4gKiBDaGltZXJhIElPIGlzIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyBmZWF0dXJlZCBzb3J0XG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQ2FyZHMgaW4gdGhlIG9yaWdpbmFsIG9yZGVyIGdpdmVuIGJ5IENoaW1lcmEgSU9cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkU29ydCA9IGNhcmRzID0+IGNhcmRzO1xuXG4vKipcbiAqIFJldHVybnMgYWxsIENhcmRzIERhdGUgU29ydGVkIChPbGQgVG8gTmV3KVxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgRGF0ZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGF0ZUFzY1NvcnQgPSBjYXJkcyA9PiBjYXJkcy5zb3J0KChjYXJkT25lLCBjYXJkVHdvKSA9PiB7XG4gICAgY29uc3QgY2FyZE9uZURhdGUgPSBnZXRCeVBhdGgoY2FyZE9uZSwgJ2NhcmREYXRlJyk7XG4gICAgY29uc3QgY2FyZFR3b0RhdGUgPSBnZXRCeVBhdGgoY2FyZFR3bywgJ2NhcmREYXRlJyk7XG4gICAgaWYgKGNhcmRPbmVEYXRlICYmIGNhcmRUd29EYXRlKSB7XG4gICAgICAgIGlmIChjYXJkT25lRGF0ZSAhPT0gY2FyZFR3b0RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjYXJkT25lRGF0ZS5sb2NhbGVDb21wYXJlKGNhcmRUd29EYXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNhcmRPbmUuaWQgfHwgJycpLmxvY2FsZUNvbXBhcmUoY2FyZFR3by5pZCB8fCAnJyk7XG4gICAgfVxuICAgIHJldHVybiAwO1xufSk7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgQ2FyZHMgRGF0ZSBTb3J0ZWQgKE5ldyBUbyBPbGQpXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHNvcnRlZCBieSBEYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREYXRlRGVzY1NvcnQgPSBjYXJkcyA9PiBnZXREYXRlQXNjU29ydChjYXJkcykucmV2ZXJzZSgpO1xuXG4vKipcbiAqIENvbnZlcnQgYSBwYXRoIHN0cmluZyBsaWtlICdmb290ZXJbMF0ubGVmdFsxXS5zdGFydFRpbWUnXG4gKiBpbnRvIGFuIGFycmF5IG9mIGtleXM6IFsnZm9vdGVyJywnMCcsJ2xlZnQnLCcxJywnc3RhcnRUaW1lJ10uXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUGF0aFN0cmluZyhwYXRoU3RyaW5nKSB7XG4gICAgaWYgKHBhdGhTdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGhTdHJpbmcucmVwbGFjZSgvXFxbKFxcZCspXFxdL2csICcuJDEnKS5zcGxpdCgnLicpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICogU2FmZWx5IGdldCBhIG5lc3RlZCBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdFxuICogdXNpbmcgYSBwYXRoIHN0cmluZyB3aXRoIGRvdC9icmFja2V0IG5vdGF0aW9uLlxuICogZS5nLiBzYWZlR2V0KGNhcmQsICdmb290ZXJbMF0ubGVmdFsxXS5zdGFydFRpbWUnLCAnJylcbiAqL1xuZnVuY3Rpb24gc2FmZUdldChvYmosIHBhdGhTdHJpbmcsIGRlZmF1bHRWYWwpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhcnNlUGF0aFN0cmluZyhwYXRoU3RyaW5nKTtcbiAgICBsZXQgY3VycmVudCA9IG9iajtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPT0gbnVsbCB8fCB0eXBlb2YgY3VycmVudCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtleSA9IHBhcnRzW2ldO1xuICAgICAgICBpZiAoIShrZXkgaW4gY3VycmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQgPT0gbnVsbCA/IGRlZmF1bHRWYWwgOiBjdXJyZW50O1xufVxuXG4vKipcbiAqIEBmdW5jIGdldEV2ZW50U29ydFxuICogQGRlc2MgVGhpcyBtZXRob2QsIGlmIG5lZWRlZCwgc2V0cyB1cCBUaW1pbmcgZmVhdHVyZXMgZm9yIGEgY29sbGVjdGlvblxuICgxKSBIYXMgdG8gY2hlY2sgZWFjaCBjYXJkIGZvciBjYXJkLmNvbnRlbnRBcmVhLmRhdGVEZXRhaWxUZXh0LnN0YXJ0VGltZVxuIHx8IGVuZFRpbWUsIGlmIG5laXRoZXIgdGhlIGNhcmQgZ2V0cyBwdXNoZWQgdG8gYmFjayBvZiBzdGFjay5cbiAoMikgVGhlcmUgYXJlIHNpeCBjYXRlZ29yaWVzIGZvciBjb25zaWRlcmF0aW9uXG4gYS4gTGl2ZTogQ3VycmVudCBUaW1lID4gU3RhcnQgVGltZSAmJiBDdXJyZW50IFRpbWUgPCBFbmQgVGltZVxuIGIuIFVwY29taW5nOiBDdXJyZW50IFRpbWUgPCBTdGFydCBUaW1lIGFuZCBkb2VzIG5vdCBoYXZlXG4gXCJPbkRlbWFuZCBzY2hlZHVsZWRcIiB0YWcgd2hpY2ggY2Fubm90IHNob3cgdW50aWwgaXQgaXMgb25EZW1hbmRcbiBjLiBcIk9uRGVtYW5kIHNjaGVkdWxlZFwiOiBVcENvbWluZywgYW5kIGhhcyBcIk9uRGVtYW5kIHNjaGVkdWxlZFwiIHRhZyxcbiB3aWxsIG5vdCBiZSBzZWVuIHVudGlsIGl0IGlzIE9uRGVtYW5kLlxuIGQuIE9uRGVtYW5kOiBDdXJyZW50IFRpbWUgPiBFbmQgVGltZSwgZG9lcyBub3QgaGF2ZSBcIkxpdmUgRXhwaXJlZFwiIHRhZ1xuIGUuIExpdmUgRXhwaXJlZDogT25EZW1hbmQsIGhhcyBcImxpdmUtZXhwaXJlZFwiIHRhZywgYW5kIGlzIG5vIGxvbmdlciBzaG93bi5cbiBmLiBBbGwgb3RoZXIgY2FyZHMsIG5vdCBoYXZpbmcgc3RhcnRUaW1lIHx8IGVuZFRpbWUuXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gdXJsU3RhdGUgLSBVUkwgc2VhcmNoL3F1ZXJ5IFBhcmFtcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gdmlzaWJsZUNhcmRzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRFdmVudFNvcnQgPSAoY2FyZHMgPSBbXSwgZXZlbnRGaWx0ZXIpID0+IHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZENhcmRzID0gY2FyZHMubWFwKGNhcmQgPT4gKHtcbiAgICAgICAgaWQ6IGNhcmQuaWQsXG4gICAgICAgIHN0YXJ0RGF0ZTogc2FmZUdldChjYXJkLCAnY29udGVudEFyZWEuZGF0ZURldGFpbFRleHQuc3RhcnRUaW1lJywgc2FmZUdldChjYXJkLCAnZm9vdGVyWzBdLmxlZnRbMV0uc3RhcnRUaW1lJywgJycpKSxcbiAgICAgICAgZW5kRGF0ZTogc2FmZUdldChjYXJkLCAnY29udGVudEFyZWEuZGF0ZURldGFpbFRleHQuZW5kVGltZScsIHNhZmVHZXQoY2FyZCwgJ2Zvb3RlclswXS5sZWZ0WzFdLmVuZFRpbWUnLCAnJykpLFxuICAgICAgICB0YWdzOiBjYXJkLnRhZ3MgfHwgW10sXG4gICAgICAgIGNhcmREYXRlOiBjYXJkLmNhcmREYXRlIHx8ICcnLFxuICAgICAgICBjb250ZW50QXJlYTogY2FyZC5jb250ZW50QXJlYSB8fCB7fSxcbiAgICAgICAgY3JlYXRlZERhdGU6IGNhcmQuY3JlYXRlZERhdGUgfHwgJycsXG4gICAgICAgIGN0YUxpbms6IGNhcmQuY3RhTGluayB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGNhcmQuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgIGZvb3RlcjogY2FyZC5mb290ZXIgfHwgW10sXG4gICAgICAgIGluaXRpYWw6IGNhcmQuaW5pdGlhbCB8fCB7fSxcbiAgICAgICAgaXNCb29rbWFya2VkOiBjYXJkLmlzQm9va21hcmtlZCB8fCBmYWxzZSxcbiAgICAgICAgbW9kaWZpZWREYXRlOiBjYXJkLm1vZGlmaWVkRGF0ZSB8fCAnJyxcbiAgICAgICAgb3ZlcmxheUxpbms6IGNhcmQub3ZlcmxheUxpbmsgfHwgJycsXG4gICAgICAgIG92ZXJsYXlzOiBjYXJkLm92ZXJsYXlzIHx8IHt9LFxuICAgICAgICBzaG93Q2FyZDogY2FyZC5zaG93Q2FyZCB8fCB7fSxcbiAgICAgICAgc2VhcmNoOiBjYXJkLnNlYXJjaCB8fCB7fSxcbiAgICAgICAgc3R5bGVzOiBjYXJkLnN0eWxlcyB8fCB7fSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBldmVudFRpbWluZyh0cmFuc2Zvcm1lZENhcmRzLCBldmVudEZpbHRlcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB2aXNpYmxlU2Vzc2lvbnM6IHJlc3VsdC52aXNpYmxlU2Vzc2lvbnMsXG4gICAgICAgIG5leHRUcmFuc2l0aW9uTXM6IHJlc3VsdC5uZXh0VHJhbnNpdGlvbk1zLFxuICAgIH07XG59O1xuLyoqXG4gKiBHZXRzIGFsbCBjYXJkcyB0aGF0IG1hdGNoZXMgYSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7U3RyaW5nfSBxdWVyeSAtIFRoZSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl9IHNlYXJjaEZpZWxkcyAtIEFsbCBhdXRob3JlZCBzZWFyY2ggZmllbGRzIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggdGhlIHVzZXIncyBxdWVyeSBmb3IgYSBnaXZlbiBzZXQgb2Ygc2VhcmNoIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q2FyZHNNYXRjaGluZ1NlYXJjaCA9IChxdWVyeSwgY2FyZHMsIHNlYXJjaEZpZWxkcykgPT4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgICAgcmV0dXJuIGNhcmRzO1xuICAgIH1cbiAgICBjb25zdCBzZWFyY2hRdWVyeSA9IHNhbml0aXplVGV4dChxdWVyeSk7XG4gICAgY29uc3QgY2FyZHNNYXRjaGluZ1F1ZXJ5ID0gZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5KGNhcmRzLCBzZWFyY2hGaWVsZHMsIHNlYXJjaFF1ZXJ5KTtcbiAgICByZXR1cm4gY2FyZHNNYXRjaGluZ1F1ZXJ5O1xufTtcblxuLyoqXG4gKiBKb2lucyB0d28gc2V0cyBvZiBjYXJkc1xuICogQHBhcmFtIHtBcnJheX0gY2FyZFNldE9uZSAtIFNldCBvbmUgb2YgY2FyZHMgdG8gam9pblxuICogQHBhcmFtIHtBcnJheX0gY2FyZFNldFR3byAtIFNldCB0d28gb2YgY2FyZHMgdG8gam9pblxuICogQHJldHVybnMge0FycmF5fSAtIENhcmRzIHNldHMgb25lIGFuZCB0d28gam9pbmVkXG4gKi9cbmV4cG9ydCBjb25zdCBqb2luQ2FyZFNldHMgPSAoY2FyZFNldE9uZSwgY2FyZFNldFR3bykgPT4gY2FyZFNldE9uZS5jb25jYXQoY2FyZFNldFR3byk7XG5cbi8qKlxuICogUHJvY2Vzc2VzIGZlYXR1cmVkIGNhcmRzIHdpdGggcmF3IGNhcmRzIHJlY2VpdmVkIGZyb20gQVBJIHJlc3BvbnNlXG4gKiBAcGFyYW0ge0FycmF5fSBmZWF0dXJlZENhcmRzIC0gQXV0aG9yZWQgRmVhdHVyZWQgQ2FyZHNcbiAqIEBwYXJhbSB7QXJyYXl9IHJhd0NhcmRzIC0gQ2FyZHMgZnJvbSBBUEkgcmVzcG9uc2VcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBTZXQgb2YgY2FyZHMgcHJvY2Vzc2VkXG4gKi9cbmV4cG9ydCBjb25zdCBwcm9jZXNzQ2FyZHMgPSAoZmVhdHVyZWRDYXJkcywgcmF3Q2FyZHMpID0+IHJlbW92ZUR1cGxpY2F0ZXNCeUtleShqb2luQ2FyZFNldHMoZmVhdHVyZWRDYXJkcywgcmF3Q2FyZHMpLCAnaWQnKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIGZvciBlZmZlY3QgdGhhdCBhZGRzIGJvb2ttYXJrIG1ldGEgZGF0YSB0byBjYXJkc1xuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gY2FyZCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge0FycmF5fSBib29rbWFya2VkQ2FyZElkcyAtIEFsbCBib29rbWFya2VkIGNhcmQgaWRzXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQ2FyZHMgd2l0aCBib29rbWFyayBtZXRhIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVwZGF0ZWRDYXJkQm9va21hcmtEYXRhID0gKGNhcmRzLCBib29rbWFya2VkQ2FyZElkcykgPT4gY2FyZHMubWFwKGNhcmQgPT4gKHtcbiAgICAuLi5jYXJkLFxuICAgIGlzQm9va21hcmtlZDogYm9va21hcmtlZENhcmRJZHMuc29tZShpID0+IGkgPT09IGNhcmQuaWQpLFxufSkpO1xuXG5jb25zdCBjYWNoZSA9IG5ldyBNYXAoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgcmFuZG9tIG51bWJlciBmcm9tIFtzdGFydCwgYm91bmQpXG4gKiBAcGFyYW0ge2ludH0gc3RhcnQgLSBTdGFydGluZyBib3VuZCAoaW5jbHVzaXZlKVxuICogQHBhcmFtIHtpbnR9IGVuZCAtIEVuZGluZyBib3VuZCAoZXhjbHVzaXZlKVxuICogQHJldHVybnMge2ludH0gLSBBIHJhbmRvbSBpbnRlZ2VyIGJldHdlZW4gW3N0YXJ0LCBib3VuZClcbiAqL1xuZnVuY3Rpb24gZ2V0UmFuZG9tKHN0YXJ0LCBlbmQpIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGVuZCAtIHN0YXJ0KSkgKyBzdGFydDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgcmFuZG9tIHNhbXBsZSBvZiBzYW1wbGVTaXplIGZyb20gYW4gYXJyYXkgc3RyZWFtXG4gKiBAcGFyYW0ge0FycmF5fSBzdHJlYW0gLSBBbiBhcnJheSBvZiBpdGVtcyB0byBzZWxlY3QgYSByYW5kb20gc2FtcGxlIGZyb21cbiAqIEBwYXJhbSB7aW50fSBzYW1wbGVTaXplIC0gVGhlIHNpemUgb2YgdGhlIHJhbmRvbSBzYW1wbGVcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBIHJhbmRvbSBzYW1wbGUgZnJvbSB0aGUgYXJyYXkgc3RyZWFtXG4gKi9cbmZ1bmN0aW9uIHJlc2Vydm9pclNhbXBsZShzdHJlYW0sIHNhbXBsZVNpemUpIHtcbiAgICBjb25zdCByZXNlcnZvaXIgPSBbXTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbiAgICBmb3IgKGNvbnN0IFtpLCB2YWxdIG9mIE9iamVjdC5lbnRyaWVzKHN0cmVhbSkpIHtcbiAgICAgICAgaWYgKHJlc2Vydm9pci5sZW5ndGggPCBzYW1wbGVTaXplKSB7XG4gICAgICAgICAgICByZXNlcnZvaXIucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmFuZG9tID0gZ2V0UmFuZG9tKDAsIGkgKyAxKTtcbiAgICAgICAgICAgIGlmIChyYW5kb20gPCBzYW1wbGVTaXplKSB7XG4gICAgICAgICAgICAgICAgcmVzZXJ2b2lyW3JhbmRvbV0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc2Vydm9pcjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbnB1dCBhcnJheSByYW5kb21seSBzaHVmZmxlZCB1c2luZyB0aGUgRmlzaGVyLVlhdGVzIGFsZ29yaXRobS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnIgLSBBcnJheSB0byBiZSBzaHVmZmxlZFxuICogQHJldHVybnMge0FycmF5fSAtIFRoZSBzaHVmZmxlZCBhcnJheVxuICovXG5mdW5jdGlvbiBmaXNjaGVyWWF0ZXNTaHVmZmxlKGFycikge1xuICAgIGxldCBjdXJyZW50SW5kZXggPSBhcnIubGVuZ3RoO1xuICAgIGxldCByYW5kb21JbmRleDtcbiAgICB3aGlsZSAoY3VycmVudEluZGV4ICE9PSAwKSB7XG4gICAgICAgIHJhbmRvbUluZGV4ID0gZ2V0UmFuZG9tKDAsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wbHVzcGx1cyAqL1xuICAgICAgICBjdXJyZW50SW5kZXgtLTtcbiAgICAgICAgW2FycltjdXJyZW50SW5kZXhdLCBhcnJbcmFuZG9tSW5kZXhdXSA9IFthcnJbcmFuZG9tSW5kZXhdLCBhcnJbY3VycmVudEluZGV4XV07XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhbiBhcnJheSBvZiByYW5kb21seSBzb3J0ZWQgY2FyZHMuXG4gKlxuICogSWYgdGhlIGNhcmRzIGZvciBhIGdpdmVuIGNhcmQgY29sbGVjdGlvbiBoYXZlIGFscmVhZHkgYmVlbiBzb3J0ZWQsIHJldHVybiBmcm9tIGNhY2hlLlxuICogT3RoZXJ3aXNlIHNvcnQgcmFuZG9tbHkgYW5kIGNhY2hlIHJlc3VsdC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIGNhcmRzIHRvIGJlIHJhbmRvbWx5IHNvcnRlZFxuICogQHBhcmFtIHtpbnR9IGlkIC0gSWQgb2YgdGhlIGNhcmQgY29sbGVjdGlvbiB0aGUgY2FyZHMgYmVsb25nIHRvLlxuICogQHBhcmFtIHtpbnR9IHNhbXBsZVNpemUgLSBzYW1wbGUgc2l6ZSB1c2VkIGZvciB0aGUgcmFuZG9tIHNhbXBsZVxuICogQHJldHVybnMge0FycmF5fSAtIEFuIGFycmF5IG9mIHJhbmRvbWx5IHNvcnRlZCBjYXJkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0UmFuZG9tU29ydCA9IChjYXJkcywgaWQsIHNhbXBsZVNpemUsIHJlc2Vydm9pclNpemUpID0+IHtcbiAgICBpZiAoIWNhY2hlLmdldChpZCkpIHtcbiAgICAgICAgY29uc3Qgc3RyZWFtID0gZmlzY2hlcllhdGVzU2h1ZmZsZShjYXJkcy5zbGljZSgwLCByZXNlcnZvaXJTaXplKSk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVNhbXBsZSA9IHJlc2Vydm9pclNhbXBsZShzdHJlYW0sIHNhbXBsZVNpemUpO1xuICAgICAgICBjYWNoZS5zZXQoaWQsIHJhbmRvbVNhbXBsZSk7XG4gICAgfVxuICAgIHJldHVybiBjYWNoZS5nZXQoaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkQ2FyZHMgPSAoaWRzLCBjYXJkcykgPT4ge1xuICAgIGNvbnN0IGFucyA9IFtdO1xuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4gICAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYXJkIG9mIGNhcmRzKSB7XG4gICAgICAgICAgICBpZiAoY2FyZC5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYXJkKSk7IC8vIERlZXAgY2xvbmUgdXNpbmcgSlNPTiBtZXRob2RzXG4gICAgICAgICAgICAgICAgYy5pc0ZlYXR1cmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhbnMucHVzaChjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYW5zO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIHNhbml0aXplZCAoaHRtbCBmcmllbmRseSkgc3RyaW5nXG4gKlxuICogSWYgdGhlIHN0cmluZyBjb25hdGlucyAnJmFtcDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnJidcbiAqIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgJyZsdDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnPCdcbiAqIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgJyZndDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnPidcbiAqXG4gKiBAcGFyYW0ge3N0cn0gc3RyIC0gc3RyaW5nIHRvIGJlIHNhbml0aXplZFxuICogQHJldHVybnMge3N0cn0gLSBzYXRpbml6ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZVN0ciA9IHN0ciA9PiBzdHJcbiAgICAucmVwbGFjZUFsbCgnJmFtcDsnLCAnJicpXG4gICAgLnJlcGxhY2VBbGwoJyZsdDsnLCAnPCcpXG4gICAgLnJlcGxhY2VBbGwoJyZndDsnLCAnPicpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVhY3Qvc3JjL2pzL2NvbXBvbmVudHMvQ29uc29uYW50L0hlbHBlcnMvSGVscGVycy5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///22\n"); +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeStr = exports.getFeaturedCards = exports.getRandomSort = exports.getUpdatedCardBookmarkData = exports.processCards = exports.joinCardSets = exports.getCardsMatchingSearch = exports.getEventSort = exports.getDateDescSort = exports.getDateAscSort = exports.getFeaturedSort = exports.getModifiedAscSort = exports.getModifiedDescSort = exports.getTitleDescSort = exports.getTitleAscSort = exports.hasTag = exports.getCardsMatchingQuery = exports.highlightCard = exports.getFilteredCards = exports.getActivePanels = exports.getActiveFilterIds = exports.getBookmarkedCards = exports.getCollectionCards = exports.getTotalPages = exports.getNumCardsToShow = exports.shouldDisplayPaginator = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _immer = __webpack_require__(270);\n\nvar _immer2 = _interopRequireDefault(_immer);\n\nvar _rendering = __webpack_require__(40);\n\nvar _general = __webpack_require__(5);\n\nvar _constants = __webpack_require__(15);\n\nvar _eventSort = __webpack_require__(271);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * Needs to be explicitly called by immer - Needed for IE 11 support\n * @type {Function}\n */\n(0, _immer.enableES5)();\n\n/**\n * Determines whether paginator component should display\n * @param {Boolean} enabled - Authored flag whether component should display or not\n * @param {Number} totalCardLimit - Authored limit for how many cards should display\n * @param {Number} totalResults - Total cards in collection\n * @returns {Boolean} - Whether Paginator should display or not\n */\nvar shouldDisplayPaginator = exports.shouldDisplayPaginator = function shouldDisplayPaginator(enabled, totalCardLimit, totalResults) {\n var totalCardLimitNotZero = totalCardLimit > 0;\n var cardLengthExceedsDisplayLimit = totalResults > totalCardLimit;\n\n return enabled && totalCardLimitNotZero && !cardLengthExceedsDisplayLimit;\n};\n\n/**\n * Determines how many cards to show\n * @param {Number} resultsPerPage - How many cards should show per page (Authored Field)\n * @param {Number} currentPage - Current page user is on\n * @param {Number} totalResults - Total cards in collection\n * @returns {Number} - Number of cards to show\n */\nvar getNumCardsToShow = exports.getNumCardsToShow = function getNumCardsToShow(resultsPerPage, currentPage, totalResults) {\n return Math.min(resultsPerPage * currentPage, totalResults);\n};\n\n/**\n * Gets Total Page Count (For Paginator Component)\n * @param {Number} resultsPerPage - How many cards should show per page (Authored Field)\n * @param {Number} totalResults - Total cards in collection\n * @returns {Number} - Total number of pages\n */\nvar getTotalPages = exports.getTotalPages = function getTotalPages(resultsPerPage, totalResults) {\n if (resultsPerPage === 0) return 0;\n return Math.ceil(totalResults / resultsPerPage);\n};\n\n/**\n * Determines whether to show collection cards or bookmarked cards only\n * (If author chooses bookmarks only collection)\n\n * @param {Boolean} showBookmarksOnly - Authored Flag to Force Card Collection To\n * Only Show Bookmarks\n * @param {Array} bookmarkedCards - Bookmarked cards only\n * @param {Array} collectionCards - All cards\n * @returns {Array} - Which collection of cards to show\n */\nvar getCollectionCards = exports.getCollectionCards = function getCollectionCards(showBookmarksOnly, bookmarkedCards, collectionCards) {\n return showBookmarksOnly ? bookmarkedCards : collectionCards;\n};\n\n/**\n * Filter to get all bookmarked cards\n * @param {Array} collectionCards - All cards\n * @returns {Array} - All bookmarked cards\n */\nvar getBookmarkedCards = exports.getBookmarkedCards = function getBookmarkedCards(collectionCards) {\n return collectionCards.filter(function (card) {\n return card.isBookmarked;\n });\n};\n\n/**\n * Gets all filters checked by a user\n * @param {Array} filters - All filters on page\n * @returns {Array} - All checked filters by user\n */\nvar getActiveFilterIds = exports.getActiveFilterIds = function getActiveFilterIds(filters) {\n return (0, _general.chainFromIterable)(filters.map(function (f) {\n return f.items;\n })).filter(function (item) {\n return item.selected;\n }).map(function (item) {\n return item.id;\n });\n};\n\n/**\n * Gets all filter panels with filters checked by a user\n * @param {Array} activeFilters - All filters checked\n * @returns {Set} - Set of filter panels with filters checked on the page\n */\nvar getActivePanels = exports.getActivePanels = function getActivePanels(activeFilters) {\n return new Set(activeFilters.map(function (filter) {\n return filter.replace(/\\/.*$/, '');\n }));\n};\n\n/**\n * Helper method to dermine whether author chose XOR or AND type filtering\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Boolean} - Whether collection is using a XOR or AND type filtering\n */\nvar getUsingXorAndFilter = function getUsingXorAndFilter(filterType, filterTypes) {\n return filterType === filterTypes.XOR || filterType === filterTypes.AND;\n};\n\n/**\n * Helper method to dermine whether author chose OR type filtering\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Boolean} - Whether collection is using OR type filtering\n */\nvar getUsingOrFilter = function getUsingOrFilter(filterType, filterTypes) {\n return filterType === filterTypes.OR;\n};\n\n/**\n * Helper method to determine whether we are doing event filtering from the side bar tags\n * @param {Set} activeFilterSet\n * @returns {Boolean} - Whether collection has an event filter\n */\nvar getUsingTimingFilter = function getUsingTimingFilter(activeFiltersSet) {\n return activeFiltersSet.has(_constants.EVENT_TIMING_IDS.LIVE) || activeFiltersSet.has(_constants.EVENT_TIMING_IDS.ONDEMAND) || activeFiltersSet.has(_constants.EVENT_TIMING_IDS.UPCOMING);\n};\n\n/**\n * Helper method to determine whether the card is within event timing\n * @param {Object} card\n * @param {Set} timing\n * @returns {Boolean} - whether the card falls within selected timing options\n */\nvar checkEventTiming = function checkEventTiming(card, timing) {\n var curMs = Date.now();\n // Times in milliseconds\n var startMs = (0, _eventSort.convertDateStrToMs)(card.startDate);\n var endMs = (0, _eventSort.convertDateStrToMs)(card.endDate);\n // Timed categories\n var isTimed = !!(startMs && endMs);\n var isUpComing = isTimed ? (0, _eventSort.defineIsUpcoming)(curMs, startMs) : false;\n var isOnDemand = isTimed && !isUpComing ? (0, _eventSort.defineIsOnDemand)(curMs, endMs) : false;\n var isLive = !!(isTimed && !isUpComing && !isOnDemand && startMs);\n\n // if you have timing filters active and there is no timing on the card it should be rejected\n if (!isTimed) return false;\n if (timing.has(_constants.EVENT_TIMING_IDS.UPCOMING) && isUpComing) return true;else if (timing.has(_constants.EVENT_TIMING_IDS.ONDEMAND) && isOnDemand) return true;else if (timing.has(_constants.EVENT_TIMING_IDS.LIVE) && isLive) return true;\n return false;\n};\n\n/**\n * Will return all cards that match a set of filters\n * @param {Array} cards - All cards in the collection\n * @param {Array} activeFilters - All filters selected by user\n * @param {Array} activePanels - Active filters panels selected by user\n * @param {String} filterType - Filter used in collection\n * @param {Object} filterTypes - All possible filters\n * @returns {Array} - All cards that match filter options\n */\n// eslint-disable-next-line max-len\nvar getFilteredCards = exports.getFilteredCards = function getFilteredCards(cards, activeFilters, activePanels, filterType, filterTypes, categories) {\n var activeFiltersSet = new Set(activeFilters);\n var timingSet = (0, _general.intersection)(activeFiltersSet, new Set([_constants.EVENT_TIMING_IDS.LIVE, _constants.EVENT_TIMING_IDS.ONDEMAND, _constants.EVENT_TIMING_IDS.UPCOMING]));\n var usingXorAndFilter = getUsingXorAndFilter(filterType, filterTypes);\n var usingOrFilter = getUsingOrFilter(filterType, filterTypes);\n var usingTimingFilter = getUsingTimingFilter(activeFiltersSet);\n // remove the time elements from the active filter set before you actually filter\n timingSet.forEach(function (filter) {\n return activeFiltersSet.delete(filter);\n });\n\n var temp = [];\n var set = new Set();\n if (categories && categories.length) {\n for (var i = 0; i < cards.length; i++) {\n var card = cards[i];\n for (var j = 0; j < categories.length; j++) {\n var category = categories[j];\n for (var k = 0; k < card.tags.length; k++) {\n var currTag = card.tags[k];\n if (currTag.id.includes(category) && !set.has(card.id)) {\n set.add(card.id);\n temp.push(card);\n }\n }\n }\n }\n /* eslint-disable-next-line no-param-reassign */\n cards = temp;\n }\n\n if (activeFiltersSet.size === 0 && !usingTimingFilter) return cards;\n\n return cards.filter(function (card) {\n if (!card.tags && !usingTimingFilter) {\n return false;\n } else if (usingTimingFilter && !checkEventTiming(card, timingSet)) {\n return false;\n } else if (usingTimingFilter && checkEventTiming(card, timingSet) && activeFiltersSet.size === 0) {\n // if the only filters being performed are about event timing\n return true;\n }\n // you proceed to check the other tags in the cards after the time filter checks\n var tagIds = new Set(card.tags.map(function (tag) {\n return tag.id;\n }));\n\n if (usingXorAndFilter) {\n return (0, _general.isSuperset)(tagIds, activeFiltersSet);\n } else if (usingOrFilter && activePanels.size < 2) {\n return (0, _general.intersection)(tagIds, activeFiltersSet).size;\n } else if (usingOrFilter) {\n // check if card' tags panels include all panels with selected filters\n var tagPanels = new Set(card.tags.map(function (tag) {\n return tag.id.replace(/\\/.*$/, '');\n }));\n if (!(0, _general.isSuperset)(tagPanels, activePanels)) return false;\n\n // check if card' tags include all panels with selected filters\n var allPanelsMatch = true;\n // eslint-disable-next-line no-restricted-syntax\n\n var _loop = function _loop(panel) {\n var filtersCheckedInPanel = new Set([].concat(_toConsumableArray(activeFiltersSet)).filter(function (id) {\n return id.includes(panel, 0);\n }));\n if (!(0, _general.intersection)(tagIds, filtersCheckedInPanel).size) {\n allPanelsMatch = false;\n }\n };\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = activePanels[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var panel = _step.value;\n\n _loop(panel);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return allPanelsMatch;\n }\n throw new Error('Unrecognized filter type: ' + filterType);\n });\n};\n\n/**\n * If a card matches a search query, this method will highlight it\n * @param {Array} baseCard - Card to highlight\n * @param {Array} searchField - Field that matches Query\n * @param {String} query - The users search query\n * @returns {Card} The highlighted caard\n */\nvar highlightCard = exports.highlightCard = function highlightCard(baseCard, searchField, query) {\n return (0, _immer2.default)(baseCard, function (draftCard) {\n var searchFieldValue = (0, _general.getByPath)(draftCard, searchField, null);\n if (searchFieldValue === null || searchFieldValue === '') return;\n var highlightedSearchFieldValue = (0, _rendering.HighlightSearchField)(searchFieldValue, query);\n (0, _general.setByPath)(draftCard, searchField, highlightedSearchFieldValue);\n });\n};\n\n/**\n * If a card matches a search query, this method will highlight it\n * @param {Array} searchField - Field that matches Query\n * @param {Array} card - Card to check\n * @param {String} query - The users search query\n * @returns {Boolean} If the card matches the user's search query\n */\nvar cardMatchesQuery = function cardMatchesQuery(searchField, card, searchQuery) {\n var searchFieldValue = (0, _general.getByPath)(card, searchField, '');\n var cleanSearchFieldValue = (0, _general.sanitizeText)(searchFieldValue);\n return cleanSearchFieldValue.includes(searchQuery);\n};\n\n/**\n * Helper to implement Set() data structure w/ Vanilla Arrays\n * Would've used new Set(), but polyfill has bug in IE11 converting Array.from(new Set())\n *\n * @param {Array} cards\n * @return {Array} - Unique Card Set from Cards (filtering based off unique card ids)\n */\nvar getUniqueCardSet = function getUniqueCardSet(cards) {\n var uniqueCardSet = [];\n cards.forEach(function (card) {\n var cardNotInSet = uniqueCardSet.findIndex(function (element) {\n return element.id === card.id;\n }) <= -1;\n if (cardNotInSet) {\n uniqueCardSet.push(card);\n }\n });\n return uniqueCardSet;\n};\n\n/**\n * Gets all cards that matches a users search query\n * @param {Array} cards - All cards in the card collection\n * @param {Array} searchFields - All authored search fields to check\n * @param {String} query - The users search query\n * @returns {Array} - All cards that match the user's query for a given set of search fields\n */\nvar getCardsMatchingQuery = exports.getCardsMatchingQuery = function getCardsMatchingQuery(cards, searchFields, query) {\n var cardsMatchingQuery = [];\n cards.forEach(function (card) {\n searchFields.forEach(function (searchField) {\n if (cardMatchesQuery(searchField, card, query)) {\n cardsMatchingQuery.push(card);\n }\n });\n });\n return getUniqueCardSet(cardsMatchingQuery);\n};\n/**\n * @func hasTag\n * @desc Does current entity have a specific tag?\n * @param {RegExp} compare a regEx pattern to test for\n * @param {Array} tags an array of tags\n */\nvar hasTag = exports.hasTag = function hasTag(compare) {\n var tags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n if (!tags.length || compare.constructor.name !== 'RegExp') return false;\n\n return tags.some(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$id = _ref.id,\n id = _ref$id === undefined ? '' : _ref$id;\n\n return id && compare.test(id);\n });\n};\n\n/**\n * Returns all cards title sorted (A-Z)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getTitleAscSort = exports.getTitleAscSort = function getTitleAscSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneTitle = (0, _general.getByPath)(cardOne, 'contentArea.title');\n var cardTwoTitle = (0, _general.getByPath)(cardTwo, 'contentArea.title');\n return cardOneTitle.localeCompare(cardTwoTitle);\n });\n};\n\n/**\n * Returns all cards title sorted (Z-A)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getTitleDescSort = exports.getTitleDescSort = function getTitleDescSort(cards) {\n return getTitleAscSort(cards).reverse();\n};\n\n/**\n * Returns all cards sorted by date modified newest to oldest\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getModifiedDescSort = exports.getModifiedDescSort = function getModifiedDescSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneModDate = (0, _general.getByPath)(cardOne, 'modifiedDate');\n var cardTwoModDate = (0, _general.getByPath)(cardTwo, 'modifiedDate');\n if (cardOneModDate && cardTwoModDate) {\n return cardTwoModDate.localeCompare(cardOneModDate);\n }\n return 0;\n });\n};\n\n/**\n * Returns all cards sorted by date modified oldest to newest\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by title\n */\nvar getModifiedAscSort = exports.getModifiedAscSort = function getModifiedAscSort(cards) {\n return getModifiedDescSort(cards).reverse();\n};\n\n/**\n * Returns all cards Featured sorted\n * This just returns the original cards returned by Chimera IO\n * Chimera IO is responsible for handling featured sort\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - Cards in the original order given by Chimera IO\n */\nvar getFeaturedSort = exports.getFeaturedSort = function getFeaturedSort(cards) {\n return cards;\n};\n\n/**\n * Returns all Cards Date Sorted (Old To New)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by Date\n */\nvar getDateAscSort = exports.getDateAscSort = function getDateAscSort(cards) {\n return cards.sort(function (cardOne, cardTwo) {\n var cardOneDate = (0, _general.getByPath)(cardOne, 'cardDate');\n var cardTwoDate = (0, _general.getByPath)(cardTwo, 'cardDate');\n if (cardOneDate && cardTwoDate) {\n if (cardOneDate !== cardTwoDate) {\n return cardOneDate.localeCompare(cardTwoDate);\n }\n return (cardOne.id || '').localeCompare(cardTwo.id || '');\n }\n return 0;\n });\n};\n\n/**\n * Returns all Cards Date Sorted (New To Old)\n * @param {Array} cards - All cards in the card collection\n * @returns {Array} - All cards sorted by Date\n */\nvar getDateDescSort = exports.getDateDescSort = function getDateDescSort(cards) {\n return getDateAscSort(cards).reverse();\n};\n\n/**\n * Convert a path string like 'footer[0].left[1].startTime'\n * into an array of keys: ['footer','0','left','1','startTime'].\n */\nfunction parsePathString(pathString) {\n if (pathString) {\n return pathString.replace(/\\[(\\d+)\\]/g, '.$1').split('.');\n }\n return '';\n}\n\n/**\n * Safely get a nested property from an object\n * using a path string with dot/bracket notation.\n * e.g. safeGet(card, 'footer[0].left[1].startTime', '')\n */\nfunction safeGet(obj, pathString, defaultVal) {\n var parts = parsePathString(pathString);\n var current = obj;\n\n for (var i = 0; i < parts.length; i++) {\n if (current == null || (typeof current === 'undefined' ? 'undefined' : _typeof(current)) !== 'object') {\n return defaultVal;\n }\n var key = parts[i];\n if (!(key in current)) {\n return defaultVal;\n }\n current = current[key];\n }\n\n return current == null ? defaultVal : current;\n}\n\n/**\n * @func getEventSort\n * @desc This method, if needed, sets up Timing features for a collection\n (1) Has to check each card for card.contentArea.dateDetailText.startTime\n || endTime, if neither the card gets pushed to back of stack.\n (2) There are six categories for consideration\n a. Live: Current Time > Start Time && Current Time < End Time\n b. Upcoming: Current Time < Start Time and does not have\n \"OnDemand scheduled\" tag which cannot show until it is onDemand\n c. \"OnDemand scheduled\": UpComing, and has \"OnDemand scheduled\" tag,\n will not be seen until it is OnDemand.\n d. OnDemand: Current Time > End Time, does not have \"Live Expired\" tag\n e. Live Expired: OnDemand, has \"live-expired\" tag, and is no longer shown.\n f. All other cards, not having startTime || endTime.\n * @param {Array} cards - All cards in the card collection\n * @param {Object} urlState - URL search/query Params.\n * @returns {Array} visibleCards\n */\nvar getEventSort = exports.getEventSort = function getEventSort() {\n var cards = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var eventFilter = arguments[1];\n\n var transformedCards = cards.map(function (card) {\n return {\n id: card.id,\n startDate: safeGet(card, 'footer[0].left[1].startTime', safeGet(card, 'contentArea.dateDetailText.startTime', '')),\n endDate: safeGet(card, 'footer[0].left[1].endTime', safeGet(card, 'contentArea.dateDetailText.endTime', '')),\n tags: card.tags || [],\n cardDate: card.cardDate || '',\n contentArea: card.contentArea || {},\n createdDate: card.createdDate || '',\n ctaLink: card.ctaLink || '',\n description: card.description || '',\n footer: card.footer || [],\n initial: card.initial || {},\n isBookmarked: card.isBookmarked || false,\n modifiedDate: card.modifiedDate || '',\n overlayLink: card.overlayLink || '',\n overlays: card.overlays || {},\n showCard: card.showCard || {},\n search: card.search || {},\n styles: card.styles || {}\n };\n });\n\n var result = (0, _eventSort.eventTiming)(transformedCards, eventFilter);\n\n return {\n visibleSessions: result.visibleSessions,\n nextTransitionMs: result.nextTransitionMs\n };\n};\n/**\n * Gets all cards that matches a users search query\n * @param {String} query - The users search query\n * @param {Array} cards - All cards in the card collection\n * @param {Array} searchFields - All authored search fields to check\n * @returns {Array} - All cards that match the user's query for a given set of search fields\n */\nvar getCardsMatchingSearch = exports.getCardsMatchingSearch = function getCardsMatchingSearch(query, cards, searchFields) {\n if (!query) {\n return cards;\n }\n var searchQuery = (0, _general.sanitizeText)(query);\n var cardsMatchingQuery = getCardsMatchingQuery(cards, searchFields, searchQuery);\n return cardsMatchingQuery;\n};\n\n/**\n * Joins two sets of cards\n * @param {Array} cardSetOne - Set one of cards to join\n * @param {Array} cardSetTwo - Set two of cards to join\n * @returns {Array} - Cards sets one and two joined\n */\nvar joinCardSets = exports.joinCardSets = function joinCardSets(cardSetOne, cardSetTwo) {\n return cardSetOne.concat(cardSetTwo);\n};\n\n/**\n * Processes featured cards with raw cards received from API response\n * @param {Array} featuredCards - Authored Featured Cards\n * @param {Array} rawCards - Cards from API response\n * @returns {Array} - Set of cards processed\n */\nvar processCards = exports.processCards = function processCards(featuredCards, rawCards) {\n return (0, _general.removeDuplicatesByKey)(joinCardSets(featuredCards, rawCards), 'id');\n};\n\n/**\n * Helper method for effect that adds bookmark meta data to cards\n * @param {Array} cards - All cards in card collection\n * @param {Array} bookmarkedCardIds - All bookmarked card ids\n * @returns {Array} - Cards with bookmark meta data\n */\nvar getUpdatedCardBookmarkData = exports.getUpdatedCardBookmarkData = function getUpdatedCardBookmarkData(cards, bookmarkedCardIds) {\n return cards.map(function (card) {\n return _extends({}, card, {\n isBookmarked: bookmarkedCardIds.some(function (i) {\n return i === card.id;\n })\n });\n });\n};\n\nvar cache = new Map();\n\n/**\n * Returns a random number from [start, bound)\n * @param {int} start - Starting bound (inclusive)\n * @param {int} end - Ending bound (exclusive)\n * @returns {int} - A random integer between [start, bound)\n */\nfunction getRandom(start, end) {\n return Math.floor(Math.random() * (end - start)) + start;\n}\n\n/**\n * Returns a random sample of sampleSize from an array stream\n * @param {Array} stream - An array of items to select a random sample from\n * @param {int} sampleSize - The size of the random sample\n * @returns {Array} - A random sample from the array stream\n */\nfunction reservoirSample(stream, sampleSize) {\n var reservoir = [];\n /* eslint-disable-next-line no-restricted-syntax */\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = Object.entries(stream)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var _ref2 = _step2.value;\n\n var _ref3 = _slicedToArray(_ref2, 2);\n\n var i = _ref3[0];\n var val = _ref3[1];\n\n if (reservoir.length < sampleSize) {\n reservoir.push(val);\n } else {\n var random = getRandom(0, i + 1);\n if (random < sampleSize) {\n reservoir[random] = val;\n }\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n return reservoir;\n}\n\n/**\n * Returns the input array randomly shuffled using the Fisher-Yates algorithm.\n *\n * @param {Array} arr - Array to be shuffled\n * @returns {Array} - The shuffled array\n */\nfunction fischerYatesShuffle(arr) {\n var currentIndex = arr.length;\n var randomIndex = void 0;\n while (currentIndex !== 0) {\n randomIndex = getRandom(0, currentIndex);\n /* eslint-disable-next-line no-plusplus */\n currentIndex--;\n var _ref4 = [arr[randomIndex], arr[currentIndex]];\n arr[currentIndex] = _ref4[0];\n arr[randomIndex] = _ref4[1];\n }\n return arr;\n}\n\n/**\n * Returns an an array of randomly sorted cards.\n *\n * If the cards for a given card collection have already been sorted, return from cache.\n * Otherwise sort randomly and cache result.\n *\n * @param {Array} cards - cards to be randomly sorted\n * @param {int} id - Id of the card collection the cards belong to.\n * @param {int} sampleSize - sample size used for the random sample\n * @returns {Array} - An array of randomly sorted cards\n */\nvar getRandomSort = exports.getRandomSort = function getRandomSort(cards, id, sampleSize, reservoirSize) {\n if (!cache.get(id)) {\n var stream = fischerYatesShuffle(cards.slice(0, reservoirSize));\n var randomSample = reservoirSample(stream, sampleSize);\n cache.set(id, randomSample);\n }\n return cache.get(id);\n};\n\nvar getFeaturedCards = exports.getFeaturedCards = function getFeaturedCards(ids, cards) {\n var ans = [];\n /* eslint-disable no-restricted-syntax */\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = ids[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var id = _step3.value;\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = cards[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var card = _step4.value;\n\n if (card.id === id) {\n var c = JSON.parse(JSON.stringify(card)); // Deep clone using JSON methods\n c.isFeatured = true;\n ans.push(c);\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n return ans;\n};\n\n/**\n * Returns an sanitized (html friendly) string\n *\n * If the string conatins '&' it will be replaced with '&'\n * if the string contains '<' it will be replaced with '<'\n * if the string contains '>' it will be replaced with '>'\n *\n * @param {str} str - string to be sanitized\n * @returns {str} - satinized string\n */\nvar sanitizeStr = exports.sanitizeStr = function sanitizeStr(str) {\n return str.replaceAll('&', '&').replaceAll('<', '<').replaceAll('>', '>');\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZWFjdC9zcmMvanMvY29tcG9uZW50cy9Db25zb25hbnQvSGVscGVycy9IZWxwZXJzLmpzPzBlNDUiXSwibmFtZXMiOlsic2hvdWxkRGlzcGxheVBhZ2luYXRvciIsImVuYWJsZWQiLCJ0b3RhbENhcmRMaW1pdCIsInRvdGFsUmVzdWx0cyIsInRvdGFsQ2FyZExpbWl0Tm90WmVybyIsImNhcmRMZW5ndGhFeGNlZWRzRGlzcGxheUxpbWl0IiwiZ2V0TnVtQ2FyZHNUb1Nob3ciLCJyZXN1bHRzUGVyUGFnZSIsImN1cnJlbnRQYWdlIiwiTWF0aCIsIm1pbiIsImdldFRvdGFsUGFnZXMiLCJjZWlsIiwiZ2V0Q29sbGVjdGlvbkNhcmRzIiwic2hvd0Jvb2ttYXJrc09ubHkiLCJib29rbWFya2VkQ2FyZHMiLCJjb2xsZWN0aW9uQ2FyZHMiLCJnZXRCb29rbWFya2VkQ2FyZHMiLCJmaWx0ZXIiLCJjYXJkIiwiaXNCb29rbWFya2VkIiwiZ2V0QWN0aXZlRmlsdGVySWRzIiwiZmlsdGVycyIsIm1hcCIsImYiLCJpdGVtcyIsIml0ZW0iLCJzZWxlY3RlZCIsImlkIiwiZ2V0QWN0aXZlUGFuZWxzIiwiU2V0IiwiYWN0aXZlRmlsdGVycyIsInJlcGxhY2UiLCJnZXRVc2luZ1hvckFuZEZpbHRlciIsImZpbHRlclR5cGUiLCJmaWx0ZXJUeXBlcyIsIlhPUiIsIkFORCIsImdldFVzaW5nT3JGaWx0ZXIiLCJPUiIsImdldFVzaW5nVGltaW5nRmlsdGVyIiwiYWN0aXZlRmlsdGVyc1NldCIsImhhcyIsIkVWRU5UX1RJTUlOR19JRFMiLCJMSVZFIiwiT05ERU1BTkQiLCJVUENPTUlORyIsImNoZWNrRXZlbnRUaW1pbmciLCJ0aW1pbmciLCJjdXJNcyIsIkRhdGUiLCJub3ciLCJzdGFydE1zIiwic3RhcnREYXRlIiwiZW5kTXMiLCJlbmREYXRlIiwiaXNUaW1lZCIsImlzVXBDb21pbmciLCJpc09uRGVtYW5kIiwiaXNMaXZlIiwiZ2V0RmlsdGVyZWRDYXJkcyIsImNhcmRzIiwiYWN0aXZlUGFuZWxzIiwiY2F0ZWdvcmllcyIsInRpbWluZ1NldCIsInVzaW5nWG9yQW5kRmlsdGVyIiwidXNpbmdPckZpbHRlciIsInVzaW5nVGltaW5nRmlsdGVyIiwiZm9yRWFjaCIsImRlbGV0ZSIsInRlbXAiLCJzZXQiLCJsZW5ndGgiLCJpIiwiaiIsImNhdGVnb3J5IiwiayIsInRhZ3MiLCJjdXJyVGFnIiwiaW5jbHVkZXMiLCJhZGQiLCJwdXNoIiwic2l6ZSIsInRhZ0lkcyIsInRhZyIsInRhZ1BhbmVscyIsImFsbFBhbmVsc01hdGNoIiwicGFuZWwiLCJmaWx0ZXJzQ2hlY2tlZEluUGFuZWwiLCJFcnJvciIsImhpZ2hsaWdodENhcmQiLCJiYXNlQ2FyZCIsInNlYXJjaEZpZWxkIiwicXVlcnkiLCJkcmFmdENhcmQiLCJzZWFyY2hGaWVsZFZhbHVlIiwiaGlnaGxpZ2h0ZWRTZWFyY2hGaWVsZFZhbHVlIiwiY2FyZE1hdGNoZXNRdWVyeSIsInNlYXJjaFF1ZXJ5IiwiY2xlYW5TZWFyY2hGaWVsZFZhbHVlIiwiZ2V0VW5pcXVlQ2FyZFNldCIsInVuaXF1ZUNhcmRTZXQiLCJjYXJkTm90SW5TZXQiLCJmaW5kSW5kZXgiLCJlbGVtZW50IiwiZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5Iiwic2VhcmNoRmllbGRzIiwiY2FyZHNNYXRjaGluZ1F1ZXJ5IiwiaGFzVGFnIiwiY29tcGFyZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInNvbWUiLCJ0ZXN0IiwiZ2V0VGl0bGVBc2NTb3J0Iiwic29ydCIsImNhcmRPbmUiLCJjYXJkVHdvIiwiY2FyZE9uZVRpdGxlIiwiY2FyZFR3b1RpdGxlIiwibG9jYWxlQ29tcGFyZSIsImdldFRpdGxlRGVzY1NvcnQiLCJyZXZlcnNlIiwiZ2V0TW9kaWZpZWREZXNjU29ydCIsImNhcmRPbmVNb2REYXRlIiwiY2FyZFR3b01vZERhdGUiLCJnZXRNb2RpZmllZEFzY1NvcnQiLCJnZXRGZWF0dXJlZFNvcnQiLCJnZXREYXRlQXNjU29ydCIsImNhcmRPbmVEYXRlIiwiY2FyZFR3b0RhdGUiLCJnZXREYXRlRGVzY1NvcnQiLCJwYXJzZVBhdGhTdHJpbmciLCJwYXRoU3RyaW5nIiwic3BsaXQiLCJzYWZlR2V0Iiwib2JqIiwiZGVmYXVsdFZhbCIsInBhcnRzIiwiY3VycmVudCIsImtleSIsImdldEV2ZW50U29ydCIsImV2ZW50RmlsdGVyIiwidHJhbnNmb3JtZWRDYXJkcyIsImNhcmREYXRlIiwiY29udGVudEFyZWEiLCJjcmVhdGVkRGF0ZSIsImN0YUxpbmsiLCJkZXNjcmlwdGlvbiIsImZvb3RlciIsImluaXRpYWwiLCJtb2RpZmllZERhdGUiLCJvdmVybGF5TGluayIsIm92ZXJsYXlzIiwic2hvd0NhcmQiLCJzZWFyY2giLCJzdHlsZXMiLCJyZXN1bHQiLCJ2aXNpYmxlU2Vzc2lvbnMiLCJuZXh0VHJhbnNpdGlvbk1zIiwiZ2V0Q2FyZHNNYXRjaGluZ1NlYXJjaCIsImpvaW5DYXJkU2V0cyIsImNhcmRTZXRPbmUiLCJjYXJkU2V0VHdvIiwiY29uY2F0IiwicHJvY2Vzc0NhcmRzIiwiZmVhdHVyZWRDYXJkcyIsInJhd0NhcmRzIiwiZ2V0VXBkYXRlZENhcmRCb29rbWFya0RhdGEiLCJib29rbWFya2VkQ2FyZElkcyIsImNhY2hlIiwiTWFwIiwiZ2V0UmFuZG9tIiwic3RhcnQiLCJlbmQiLCJmbG9vciIsInJhbmRvbSIsInJlc2Vydm9pclNhbXBsZSIsInN0cmVhbSIsInNhbXBsZVNpemUiLCJyZXNlcnZvaXIiLCJPYmplY3QiLCJlbnRyaWVzIiwidmFsIiwiZmlzY2hlcllhdGVzU2h1ZmZsZSIsImFyciIsImN1cnJlbnRJbmRleCIsInJhbmRvbUluZGV4IiwiZ2V0UmFuZG9tU29ydCIsInJlc2Vydm9pclNpemUiLCJnZXQiLCJzbGljZSIsInJhbmRvbVNhbXBsZSIsImdldEZlYXR1cmVkQ2FyZHMiLCJpZHMiLCJhbnMiLCJjIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiaXNGZWF0dXJlZCIsInNhbml0aXplU3RyIiwic3RyIiwicmVwbGFjZUFsbCJdLCJt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QTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQVk1QyxXQUFPRCxHQUFQO0FBQ0gsQ0FiTTs7QUFlUDs7Ozs7Ozs7OztBQVVPLElBQU1NLG9DQUFjLFNBQWRBLFdBQWM7QUFBQSxXQUFPQyxJQUM3QkMsVUFENkIsQ0FDbEIsT0FEa0IsRUFDVCxHQURTLEVBRTdCQSxVQUY2QixDQUVsQixNQUZrQixFQUVWLEdBRlUsRUFHN0JBLFVBSDZCLENBR2xCLE1BSGtCLEVBR1YsR0FIVSxDQUFQO0FBQUEsQ0FBcEIiLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcHJvZHVjZSwgeyBlbmFibGVFUzUgfSBmcm9tICdpbW1lcic7XG5cbmltcG9ydCB7IEhpZ2hsaWdodFNlYXJjaEZpZWxkIH0gZnJvbSAnLi9yZW5kZXJpbmcnO1xuaW1wb3J0IHtcbiAgICBnZXRCeVBhdGgsXG4gICAgc2V0QnlQYXRoLFxuICAgIGlzU3VwZXJzZXQsXG4gICAgaW50ZXJzZWN0aW9uLFxuICAgIHNhbml0aXplVGV4dCxcbiAgICBjaGFpbkZyb21JdGVyYWJsZSxcbiAgICByZW1vdmVEdXBsaWNhdGVzQnlLZXksXG59IGZyb20gJy4vZ2VuZXJhbCc7XG5pbXBvcnQgeyBFVkVOVF9USU1JTkdfSURTIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgICBldmVudFRpbWluZyxcbiAgICBjb252ZXJ0RGF0ZVN0clRvTXMsXG4gICAgZGVmaW5lSXNPbkRlbWFuZCxcbiAgICBkZWZpbmVJc1VwY29taW5nLFxufSBmcm9tICcuL2V2ZW50U29ydCc7XG5cbi8qKlxuICogTmVlZHMgdG8gYmUgZXhwbGljaXRseSBjYWxsZWQgYnkgaW1tZXIgLSBOZWVkZWQgZm9yIElFIDExIHN1cHBvcnRcbiAqIEB0eXBlIHtGdW5jdGlvbn1cbiAqL1xuZW5hYmxlRVM1KCk7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHBhZ2luYXRvciBjb21wb25lbnQgc2hvdWxkIGRpc3BsYXlcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZW5hYmxlZCAtIEF1dGhvcmVkIGZsYWcgd2hldGhlciBjb21wb25lbnQgc2hvdWxkIGRpc3BsYXkgb3Igbm90XG4gKiBAcGFyYW0ge051bWJlcn0gdG90YWxDYXJkTGltaXQgLSBBdXRob3JlZCBsaW1pdCBmb3IgaG93IG1hbnkgY2FyZHMgc2hvdWxkIGRpc3BsYXlcbiAqIEBwYXJhbSB7TnVtYmVyfSB0b3RhbFJlc3VsdHMgLSBUb3RhbCBjYXJkcyBpbiBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSBXaGV0aGVyIFBhZ2luYXRvciBzaG91bGQgZGlzcGxheSBvciBub3RcbiAqL1xuZXhwb3J0IGNvbnN0IHNob3VsZERpc3BsYXlQYWdpbmF0b3IgPSAoZW5hYmxlZCwgdG90YWxDYXJkTGltaXQsIHRvdGFsUmVzdWx0cykgPT4ge1xuICAgIGNvbnN0IHRvdGFsQ2FyZExpbWl0Tm90WmVybyA9IHRvdGFsQ2FyZExpbWl0ID4gMDtcbiAgICBjb25zdCBjYXJkTGVuZ3RoRXhjZWVkc0Rpc3BsYXlMaW1pdCA9IHRvdGFsUmVzdWx0cyA+IHRvdGFsQ2FyZExpbWl0O1xuXG4gICAgcmV0dXJuIGVuYWJsZWQgJiZcbiAgICAgICAgdG90YWxDYXJkTGltaXROb3RaZXJvICYmXG4gICAgICAgICFjYXJkTGVuZ3RoRXhjZWVkc0Rpc3BsYXlMaW1pdDtcbn07XG5cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGhvdyBtYW55IGNhcmRzIHRvIHNob3dcbiAqIEBwYXJhbSB7TnVtYmVyfSByZXN1bHRzUGVyUGFnZSAtIEhvdyBtYW55IGNhcmRzIHNob3VsZCBzaG93IHBlciBwYWdlIChBdXRob3JlZCBGaWVsZClcbiAqIEBwYXJhbSB7TnVtYmVyfSBjdXJyZW50UGFnZSAtIEN1cnJlbnQgcGFnZSB1c2VyIGlzIG9uXG4gKiBAcGFyYW0ge051bWJlcn0gdG90YWxSZXN1bHRzIC0gVG90YWwgY2FyZHMgaW4gY29sbGVjdGlvblxuICogQHJldHVybnMge051bWJlcn0gLSBOdW1iZXIgb2YgY2FyZHMgdG8gc2hvd1xuICovXG5leHBvcnQgY29uc3QgZ2V0TnVtQ2FyZHNUb1Nob3cgPSAocmVzdWx0c1BlclBhZ2UsIGN1cnJlbnRQYWdlLCB0b3RhbFJlc3VsdHMpID0+XG4gICAgTWF0aC5taW4ocmVzdWx0c1BlclBhZ2UgKiBjdXJyZW50UGFnZSwgdG90YWxSZXN1bHRzKTtcblxuLyoqXG4gKiBHZXRzIFRvdGFsIFBhZ2UgQ291bnQgKEZvciBQYWdpbmF0b3IgQ29tcG9uZW50KVxuICogQHBhcmFtIHtOdW1iZXJ9IHJlc3VsdHNQZXJQYWdlIC0gSG93IG1hbnkgY2FyZHMgc2hvdWxkIHNob3cgcGVyIHBhZ2UgKEF1dGhvcmVkIEZpZWxkKVxuICogQHBhcmFtIHtOdW1iZXJ9IHRvdGFsUmVzdWx0cyAtIFRvdGFsIGNhcmRzIGluIGNvbGxlY3Rpb25cbiAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVG90YWwgbnVtYmVyIG9mIHBhZ2VzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUb3RhbFBhZ2VzID0gKHJlc3VsdHNQZXJQYWdlLCB0b3RhbFJlc3VsdHMpID0+IHtcbiAgICBpZiAocmVzdWx0c1BlclBhZ2UgPT09IDApIHJldHVybiAwO1xuICAgIHJldHVybiBNYXRoLmNlaWwodG90YWxSZXN1bHRzIC8gcmVzdWx0c1BlclBhZ2UpO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gc2hvdyBjb2xsZWN0aW9uIGNhcmRzIG9yIGJvb2ttYXJrZWQgY2FyZHMgb25seVxuICogKElmIGF1dGhvciBjaG9vc2VzIGJvb2ttYXJrcyBvbmx5IGNvbGxlY3Rpb24pXG5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gc2hvd0Jvb2ttYXJrc09ubHkgLSBBdXRob3JlZCBGbGFnIHRvIEZvcmNlIENhcmQgQ29sbGVjdGlvbiBUb1xuICogT25seSBTaG93IEJvb2ttYXJrc1xuICogQHBhcmFtIHtBcnJheX0gYm9va21hcmtlZENhcmRzIC0gQm9va21hcmtlZCBjYXJkcyBvbmx5XG4gKiBAcGFyYW0ge0FycmF5fSBjb2xsZWN0aW9uQ2FyZHMgLSBBbGwgY2FyZHNcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBXaGljaCBjb2xsZWN0aW9uIG9mIGNhcmRzIHRvIHNob3dcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvbGxlY3Rpb25DYXJkcyA9IChzaG93Qm9va21hcmtzT25seSwgYm9va21hcmtlZENhcmRzLCBjb2xsZWN0aW9uQ2FyZHMpID0+IChcbiAgICBzaG93Qm9va21hcmtzT25seSA/IGJvb2ttYXJrZWRDYXJkcyA6IGNvbGxlY3Rpb25DYXJkc1xuKTtcblxuLyoqXG4gKiBGaWx0ZXIgdG8gZ2V0IGFsbCBib29rbWFya2VkIGNhcmRzXG4gKiBAcGFyYW0ge0FycmF5fSBjb2xsZWN0aW9uQ2FyZHMgLSBBbGwgY2FyZHNcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBbGwgYm9va21hcmtlZCBjYXJkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Qm9va21hcmtlZENhcmRzID1cbiAgICBjb2xsZWN0aW9uQ2FyZHMgPT4gY29sbGVjdGlvbkNhcmRzLmZpbHRlcihjYXJkID0+IGNhcmQuaXNCb29rbWFya2VkKTtcblxuLyoqXG4gKiBHZXRzIGFsbCBmaWx0ZXJzIGNoZWNrZWQgYnkgYSB1c2VyXG4gKiBAcGFyYW0ge0FycmF5fSBmaWx0ZXJzIC0gQWxsIGZpbHRlcnMgb24gcGFnZVxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjaGVja2VkIGZpbHRlcnMgYnkgdXNlclxuICovXG5leHBvcnQgY29uc3QgZ2V0QWN0aXZlRmlsdGVySWRzID0gZmlsdGVycyA9PiBjaGFpbkZyb21JdGVyYWJsZShmaWx0ZXJzLm1hcChmID0+IGYuaXRlbXMpKVxuICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKVxuICAgIC5tYXAoaXRlbSA9PiBpdGVtLmlkKTtcblxuLyoqXG4gKiBHZXRzIGFsbCBmaWx0ZXIgcGFuZWxzIHdpdGggZmlsdGVycyBjaGVja2VkIGJ5IGEgdXNlclxuICogQHBhcmFtIHtBcnJheX0gYWN0aXZlRmlsdGVycyAtIEFsbCBmaWx0ZXJzIGNoZWNrZWRcbiAqIEByZXR1cm5zIHtTZXR9IC0gU2V0IG9mIGZpbHRlciBwYW5lbHMgd2l0aCBmaWx0ZXJzIGNoZWNrZWQgb24gdGhlIHBhZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEFjdGl2ZVBhbmVscyA9XG4gICAgYWN0aXZlRmlsdGVycyA9PiBuZXcgU2V0KGFjdGl2ZUZpbHRlcnMubWFwKGZpbHRlciA9PiBmaWx0ZXIucmVwbGFjZSgvXFwvLiokLywgJycpKSk7XG5cbi8qKlxuICogSGVscGVyIG1ldGhvZCB0byBkZXJtaW5lIHdoZXRoZXIgYXV0aG9yIGNob3NlIFhPUiBvciBBTkQgdHlwZSBmaWx0ZXJpbmdcbiAqIEBwYXJhbSB7U3RyaW5nfSBmaWx0ZXJUeXBlIC0gRmlsdGVyIHVzZWQgaW4gY29sbGVjdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGZpbHRlclR5cGVzIC0gQWxsIHBvc3NpYmxlIGZpbHRlcnNcbiAqIEByZXR1cm5zIHtCb29sZWFufSAtIFdoZXRoZXIgY29sbGVjdGlvbiBpcyB1c2luZyBhIFhPUiBvciBBTkQgdHlwZSBmaWx0ZXJpbmdcbiAqL1xuY29uc3QgZ2V0VXNpbmdYb3JBbmRGaWx0ZXIgPSAoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpID0+IChcbiAgICBmaWx0ZXJUeXBlID09PSBmaWx0ZXJUeXBlcy5YT1IgfHwgZmlsdGVyVHlwZSA9PT0gZmlsdGVyVHlwZXMuQU5EXG4pO1xuXG4vKipcbiAqIEhlbHBlciBtZXRob2QgdG8gZGVybWluZSB3aGV0aGVyIGF1dGhvciBjaG9zZSBPUiB0eXBlIGZpbHRlcmluZ1xuICogQHBhcmFtIHtTdHJpbmd9IGZpbHRlclR5cGUgLSBGaWx0ZXIgdXNlZCBpbiBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gZmlsdGVyVHlwZXMgLSBBbGwgcG9zc2libGUgZmlsdGVyc1xuICogQHJldHVybnMge0Jvb2xlYW59IC0gV2hldGhlciBjb2xsZWN0aW9uIGlzIHVzaW5nIE9SIHR5cGUgZmlsdGVyaW5nXG4gKi9cbmNvbnN0IGdldFVzaW5nT3JGaWx0ZXIgPSAoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpID0+IChcbiAgICBmaWx0ZXJUeXBlID09PSBmaWx0ZXJUeXBlcy5PUlxuKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIHRvIGRldGVybWluZSB3aGV0aGVyIHdlIGFyZSBkb2luZyBldmVudCBmaWx0ZXJpbmcgZnJvbSB0aGUgc2lkZSBiYXIgdGFnc1xuICogQHBhcmFtIHtTZXR9IGFjdGl2ZUZpbHRlclNldFxuICogQHJldHVybnMge0Jvb2xlYW59IC0gV2hldGhlciBjb2xsZWN0aW9uIGhhcyBhbiBldmVudCBmaWx0ZXJcbiAqL1xuY29uc3QgZ2V0VXNpbmdUaW1pbmdGaWx0ZXIgPSBhY3RpdmVGaWx0ZXJzU2V0ID0+IChcbiAgICBhY3RpdmVGaWx0ZXJzU2V0LmhhcyhFVkVOVF9USU1JTkdfSURTLkxJVkUpIHx8XG4gICAgYWN0aXZlRmlsdGVyc1NldC5oYXMoRVZFTlRfVElNSU5HX0lEUy5PTkRFTUFORCkgfHxcbiAgICBhY3RpdmVGaWx0ZXJzU2V0LmhhcyhFVkVOVF9USU1JTkdfSURTLlVQQ09NSU5HKVxuKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBjYXJkIGlzIHdpdGhpbiBldmVudCB0aW1pbmdcbiAqIEBwYXJhbSB7T2JqZWN0fSBjYXJkXG4gKiBAcGFyYW0ge1NldH0gdGltaW5nXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gLSB3aGV0aGVyIHRoZSBjYXJkIGZhbGxzIHdpdGhpbiBzZWxlY3RlZCB0aW1pbmcgb3B0aW9uc1xuICovXG5jb25zdCBjaGVja0V2ZW50VGltaW5nID0gKGNhcmQsIHRpbWluZykgPT4ge1xuICAgIGNvbnN0IGN1ck1zID0gRGF0ZS5ub3coKTtcbiAgICAvLyBUaW1lcyBpbiBtaWxsaXNlY29uZHNcbiAgICBjb25zdCBzdGFydE1zID0gY29udmVydERhdGVTdHJUb01zKGNhcmQuc3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmRNcyA9IGNvbnZlcnREYXRlU3RyVG9NcyhjYXJkLmVuZERhdGUpO1xuICAgIC8vIFRpbWVkIGNhdGVnb3JpZXNcbiAgICBjb25zdCBpc1RpbWVkID0gISEoc3RhcnRNcyAmJiBlbmRNcyk7XG4gICAgY29uc3QgaXNVcENvbWluZyA9IGlzVGltZWQgP1xuICAgICAgICBkZWZpbmVJc1VwY29taW5nKGN1ck1zLCBzdGFydE1zKSA6IGZhbHNlO1xuICAgIGNvbnN0IGlzT25EZW1hbmQgPSBpc1RpbWVkICYmICFpc1VwQ29taW5nID9cbiAgICAgICAgZGVmaW5lSXNPbkRlbWFuZChjdXJNcywgZW5kTXMpIDogZmFsc2U7XG4gICAgY29uc3QgaXNMaXZlID0gISEoaXNUaW1lZCAmJiAhaXNVcENvbWluZyAmJiAhaXNPbkRlbWFuZCAmJiBzdGFydE1zKTtcblxuICAgIC8vIGlmIHlvdSBoYXZlIHRpbWluZyBmaWx0ZXJzIGFjdGl2ZSBhbmQgdGhlcmUgaXMgbm8gdGltaW5nIG9uIHRoZSBjYXJkIGl0IHNob3VsZCBiZSByZWplY3RlZFxuICAgIGlmICghaXNUaW1lZCkgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aW1pbmcuaGFzKEVWRU5UX1RJTUlOR19JRFMuVVBDT01JTkcpICYmIGlzVXBDb21pbmcpIHJldHVybiB0cnVlO1xuICAgIGVsc2UgaWYgKHRpbWluZy5oYXMoRVZFTlRfVElNSU5HX0lEUy5PTkRFTUFORCkgJiYgaXNPbkRlbWFuZCkgcmV0dXJuIHRydWU7XG4gICAgZWxzZSBpZiAodGltaW5nLmhhcyhFVkVOVF9USU1JTkdfSURTLkxJVkUpICYmIGlzTGl2ZSkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBXaWxsIHJldHVybiBhbGwgY2FyZHMgdGhhdCBtYXRjaCBhIHNldCBvZiBmaWx0ZXJzXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY29sbGVjdGlvblxuICogQHBhcmFtIHtBcnJheX0gYWN0aXZlRmlsdGVycyAtIEFsbCBmaWx0ZXJzIHNlbGVjdGVkIGJ5IHVzZXJcbiAqIEBwYXJhbSB7QXJyYXl9IGFjdGl2ZVBhbmVscyAtIEFjdGl2ZSBmaWx0ZXJzIHBhbmVscyBzZWxlY3RlZCBieSB1c2VyXG4gKiBAcGFyYW0ge1N0cmluZ30gZmlsdGVyVHlwZSAtIEZpbHRlciB1c2VkIGluIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWx0ZXJUeXBlcyAtIEFsbCBwb3NzaWJsZSBmaWx0ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggZmlsdGVyIG9wdGlvbnNcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbmV4cG9ydCBjb25zdCBnZXRGaWx0ZXJlZENhcmRzID0gKGNhcmRzLCBhY3RpdmVGaWx0ZXJzLCBhY3RpdmVQYW5lbHMsIGZpbHRlclR5cGUsIGZpbHRlclR5cGVzLCBjYXRlZ29yaWVzKSA9PiB7XG4gICAgY29uc3QgYWN0aXZlRmlsdGVyc1NldCA9IG5ldyBTZXQoYWN0aXZlRmlsdGVycyk7XG4gICAgY29uc3QgdGltaW5nU2V0ID0gaW50ZXJzZWN0aW9uKGFjdGl2ZUZpbHRlcnNTZXQsIG5ldyBTZXQoW1xuICAgICAgICBFVkVOVF9USU1JTkdfSURTLkxJVkUsXG4gICAgICAgIEVWRU5UX1RJTUlOR19JRFMuT05ERU1BTkQsXG4gICAgICAgIEVWRU5UX1RJTUlOR19JRFMuVVBDT01JTkcsXG4gICAgXSkpO1xuICAgIGNvbnN0IHVzaW5nWG9yQW5kRmlsdGVyID0gZ2V0VXNpbmdYb3JBbmRGaWx0ZXIoZmlsdGVyVHlwZSwgZmlsdGVyVHlwZXMpO1xuICAgIGNvbnN0IHVzaW5nT3JGaWx0ZXIgPSBnZXRVc2luZ09yRmlsdGVyKGZpbHRlclR5cGUsIGZpbHRlclR5cGVzKTtcbiAgICBjb25zdCB1c2luZ1RpbWluZ0ZpbHRlciA9IGdldFVzaW5nVGltaW5nRmlsdGVyKGFjdGl2ZUZpbHRlcnNTZXQpO1xuICAgIC8vIHJlbW92ZSB0aGUgdGltZSBlbGVtZW50cyBmcm9tIHRoZSBhY3RpdmUgZmlsdGVyIHNldCBiZWZvcmUgeW91IGFjdHVhbGx5IGZpbHRlclxuICAgIHRpbWluZ1NldC5mb3JFYWNoKGZpbHRlciA9PiBhY3RpdmVGaWx0ZXJzU2V0LmRlbGV0ZShmaWx0ZXIpKTtcblxuICAgIGNvbnN0IHRlbXAgPSBbXTtcbiAgICBjb25zdCBzZXQgPSBuZXcgU2V0KCk7XG4gICAgaWYgKGNhdGVnb3JpZXMgJiYgY2F0ZWdvcmllcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXJkcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2FyZCA9IGNhcmRzW2ldO1xuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBjYXRlZ29yaWVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBjYXRlZ29yaWVzW2pdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGsgPSAwOyBrIDwgY2FyZC50YWdzLmxlbmd0aDsgaysrKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJUYWcgPSBjYXJkLnRhZ3Nba107XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXJyVGFnLmlkLmluY2x1ZGVzKGNhdGVnb3J5KSAmJiAhc2V0LmhhcyhjYXJkLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0LmFkZChjYXJkLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAucHVzaChjYXJkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbiAgICAgICAgY2FyZHMgPSB0ZW1wO1xuICAgIH1cblxuICAgIGlmIChhY3RpdmVGaWx0ZXJzU2V0LnNpemUgPT09IDAgJiYgIXVzaW5nVGltaW5nRmlsdGVyKSByZXR1cm4gY2FyZHM7XG5cbiAgICByZXR1cm4gY2FyZHMuZmlsdGVyKChjYXJkKSA9PiB7XG4gICAgICAgIGlmICghY2FyZC50YWdzICYmICF1c2luZ1RpbWluZ0ZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHVzaW5nVGltaW5nRmlsdGVyICYmICFjaGVja0V2ZW50VGltaW5nKGNhcmQsIHRpbWluZ1NldCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIHVzaW5nVGltaW5nRmlsdGVyICYmXG4gICAgICAgICAgICBjaGVja0V2ZW50VGltaW5nKGNhcmQsIHRpbWluZ1NldCkgJiZcbiAgICAgICAgICAgIGFjdGl2ZUZpbHRlcnNTZXQuc2l6ZSA9PT0gMFxuICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSBvbmx5IGZpbHRlcnMgYmVpbmcgcGVyZm9ybWVkIGFyZSBhYm91dCBldmVudCB0aW1pbmdcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHlvdSBwcm9jZWVkIHRvIGNoZWNrIHRoZSBvdGhlciB0YWdzIGluIHRoZSBjYXJkcyBhZnRlciB0aGUgdGltZSBmaWx0ZXIgY2hlY2tzXG4gICAgICAgIGNvbnN0IHRhZ0lkcyA9IG5ldyBTZXQoY2FyZC50YWdzLm1hcCh0YWcgPT4gdGFnLmlkKSk7XG5cbiAgICAgICAgaWYgKHVzaW5nWG9yQW5kRmlsdGVyKSB7XG4gICAgICAgICAgICByZXR1cm4gaXNTdXBlcnNldCh0YWdJZHMsIGFjdGl2ZUZpbHRlcnNTZXQpO1xuICAgICAgICB9IGVsc2UgaWYgKHVzaW5nT3JGaWx0ZXIgJiYgYWN0aXZlUGFuZWxzLnNpemUgPCAyKSB7XG4gICAgICAgICAgICByZXR1cm4gaW50ZXJzZWN0aW9uKHRhZ0lkcywgYWN0aXZlRmlsdGVyc1NldCkuc2l6ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1c2luZ09yRmlsdGVyKSB7XG4gICAgICAgICAgICAvLyBjaGVjayBpZiBjYXJkJyB0YWdzIHBhbmVscyBpbmNsdWRlIGFsbCBwYW5lbHMgd2l0aCBzZWxlY3RlZCBmaWx0ZXJzXG4gICAgICAgICAgICBjb25zdCB0YWdQYW5lbHMgPSBuZXcgU2V0KGNhcmQudGFncy5tYXAodGFnID0+IHRhZy5pZC5yZXBsYWNlKC9cXC8uKiQvLCAnJykpKTtcbiAgICAgICAgICAgIGlmICghaXNTdXBlcnNldCh0YWdQYW5lbHMsIGFjdGl2ZVBhbmVscykpIHJldHVybiBmYWxzZTtcblxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgY2FyZCcgdGFncyBpbmNsdWRlIGFsbCBwYW5lbHMgd2l0aCBzZWxlY3RlZCBmaWx0ZXJzXG4gICAgICAgICAgICBsZXQgYWxsUGFuZWxzTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHBhbmVsIG9mIGFjdGl2ZVBhbmVscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcnNDaGVja2VkSW5QYW5lbCA9IG5ldyBTZXQoWy4uLmFjdGl2ZUZpbHRlcnNTZXRdXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaWQgPT4gaWQuaW5jbHVkZXMocGFuZWwsIDApKSk7XG4gICAgICAgICAgICAgICAgaWYgKCFpbnRlcnNlY3Rpb24odGFnSWRzLCBmaWx0ZXJzQ2hlY2tlZEluUGFuZWwpLnNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsUGFuZWxzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWxsUGFuZWxzTWF0Y2g7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgZmlsdGVyIHR5cGU6ICR7ZmlsdGVyVHlwZX1gKTtcbiAgICB9KTtcbn07XG5cbi8qKlxuICogSWYgYSBjYXJkIG1hdGNoZXMgYSBzZWFyY2ggcXVlcnksIHRoaXMgbWV0aG9kIHdpbGwgaGlnaGxpZ2h0IGl0XG4gKiBAcGFyYW0ge0FycmF5fSBiYXNlQ2FyZCAtIENhcmQgdG8gaGlnaGxpZ2h0XG4gKiBAcGFyYW0ge0FycmF5fSBzZWFyY2hGaWVsZCAtIEZpZWxkIHRoYXQgbWF0Y2hlcyBRdWVyeVxuICogQHBhcmFtIHtTdHJpbmd9IHF1ZXJ5IC0gVGhlIHVzZXJzIHNlYXJjaCBxdWVyeVxuICogQHJldHVybnMge0NhcmR9IFRoZSBoaWdobGlnaHRlZCBjYWFyZFxuICovXG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0Q2FyZCA9IChiYXNlQ2FyZCwgc2VhcmNoRmllbGQsIHF1ZXJ5KSA9PiBwcm9kdWNlKGJhc2VDYXJkLCAoZHJhZnRDYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoRmllbGRWYWx1ZSA9IGdldEJ5UGF0aChkcmFmdENhcmQsIHNlYXJjaEZpZWxkLCBudWxsKTtcbiAgICBpZiAoc2VhcmNoRmllbGRWYWx1ZSA9PT0gbnVsbCB8fCBzZWFyY2hGaWVsZFZhbHVlID09PSAnJykgcmV0dXJuO1xuICAgIGNvbnN0IGhpZ2hsaWdodGVkU2VhcmNoRmllbGRWYWx1ZSA9IEhpZ2hsaWdodFNlYXJjaEZpZWxkKHNlYXJjaEZpZWxkVmFsdWUsIHF1ZXJ5KTtcbiAgICBzZXRCeVBhdGgoZHJhZnRDYXJkLCBzZWFyY2hGaWVsZCwgaGlnaGxpZ2h0ZWRTZWFyY2hGaWVsZFZhbHVlKTtcbn0pO1xuXG4vKipcbiAqIElmIGEgY2FyZCBtYXRjaGVzIGEgc2VhcmNoIHF1ZXJ5LCB0aGlzIG1ldGhvZCB3aWxsIGhpZ2hsaWdodCBpdFxuICogQHBhcmFtIHtBcnJheX0gc2VhcmNoRmllbGQgLSBGaWVsZCB0aGF0IG1hdGNoZXMgUXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmQgLSBDYXJkIHRvIGNoZWNrXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgLSBUaGUgdXNlcnMgc2VhcmNoIHF1ZXJ5XG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gSWYgdGhlIGNhcmQgbWF0Y2hlcyB0aGUgdXNlcidzIHNlYXJjaCBxdWVyeVxuICovXG5jb25zdCBjYXJkTWF0Y2hlc1F1ZXJ5ID0gKHNlYXJjaEZpZWxkLCBjYXJkLCBzZWFyY2hRdWVyeSkgPT4ge1xuICAgIGNvbnN0IHNlYXJjaEZpZWxkVmFsdWUgPSBnZXRCeVBhdGgoY2FyZCwgc2VhcmNoRmllbGQsICcnKTtcbiAgICBjb25zdCBjbGVhblNlYXJjaEZpZWxkVmFsdWUgPSBzYW5pdGl6ZVRleHQoc2VhcmNoRmllbGRWYWx1ZSk7XG4gICAgcmV0dXJuIGNsZWFuU2VhcmNoRmllbGRWYWx1ZS5pbmNsdWRlcyhzZWFyY2hRdWVyeSk7XG59O1xuXG4vKipcbiAqIEhlbHBlciB0byBpbXBsZW1lbnQgU2V0KCkgZGF0YSBzdHJ1Y3R1cmUgdy8gVmFuaWxsYSBBcnJheXNcbiAqIFdvdWxkJ3ZlIHVzZWQgbmV3IFNldCgpLCBidXQgcG9seWZpbGwgaGFzIGJ1ZyBpbiBJRTExIGNvbnZlcnRpbmcgQXJyYXkuZnJvbShuZXcgU2V0KCkpXG4gKlxuICogQHBhcmFtIHtBcnJheX0gY2FyZHNcbiAqIEByZXR1cm4ge0FycmF5fSAtIFVuaXF1ZSBDYXJkIFNldCBmcm9tIENhcmRzIChmaWx0ZXJpbmcgYmFzZWQgb2ZmIHVuaXF1ZSBjYXJkIGlkcylcbiAqL1xuY29uc3QgZ2V0VW5pcXVlQ2FyZFNldCA9IChjYXJkcykgPT4ge1xuICAgIGNvbnN0IHVuaXF1ZUNhcmRTZXQgPSBbXTtcbiAgICBjYXJkcy5mb3JFYWNoKChjYXJkKSA9PiB7XG4gICAgICAgIGNvbnN0IGNhcmROb3RJblNldCA9IHVuaXF1ZUNhcmRTZXQuZmluZEluZGV4KGVsZW1lbnQgPT4gZWxlbWVudC5pZCA9PT0gY2FyZC5pZCkgPD0gLTE7XG4gICAgICAgIGlmIChjYXJkTm90SW5TZXQpIHtcbiAgICAgICAgICAgIHVuaXF1ZUNhcmRTZXQucHVzaChjYXJkKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB1bmlxdWVDYXJkU2V0O1xufTtcblxuLyoqXG4gKiBHZXRzIGFsbCBjYXJkcyB0aGF0IG1hdGNoZXMgYSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl9IHNlYXJjaEZpZWxkcyAtIEFsbCBhdXRob3JlZCBzZWFyY2ggZmllbGRzIHRvIGNoZWNrXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgLSBUaGUgdXNlcnMgc2VhcmNoIHF1ZXJ5XG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggdGhlIHVzZXIncyBxdWVyeSBmb3IgYSBnaXZlbiBzZXQgb2Ygc2VhcmNoIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5ID0gKGNhcmRzLCBzZWFyY2hGaWVsZHMsIHF1ZXJ5KSA9PiB7XG4gICAgY29uc3QgY2FyZHNNYXRjaGluZ1F1ZXJ5ID0gW107XG4gICAgY2FyZHMuZm9yRWFjaCgoY2FyZCkgPT4ge1xuICAgICAgICBzZWFyY2hGaWVsZHMuZm9yRWFjaCgoc2VhcmNoRmllbGQpID0+IHtcbiAgICAgICAgICAgIGlmIChjYXJkTWF0Y2hlc1F1ZXJ5KHNlYXJjaEZpZWxkLCBjYXJkLCBxdWVyeSkpIHtcbiAgICAgICAgICAgICAgICBjYXJkc01hdGNoaW5nUXVlcnkucHVzaChjYXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGdldFVuaXF1ZUNhcmRTZXQoY2FyZHNNYXRjaGluZ1F1ZXJ5KTtcbn07XG4vKipcbiAqIEBmdW5jIGhhc1RhZ1xuICogQGRlc2MgRG9lcyBjdXJyZW50IGVudGl0eSBoYXZlIGEgc3BlY2lmaWMgdGFnP1xuICogQHBhcmFtIHtSZWdFeHB9IGNvbXBhcmUgYSByZWdFeCBwYXR0ZXJuIHRvIHRlc3QgZm9yXG4gKiBAcGFyYW0ge0FycmF5fSB0YWdzIGFuIGFycmF5IG9mIHRhZ3NcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1RhZyA9IChjb21wYXJlLCB0YWdzID0gW10pID0+IHtcbiAgICBpZiAoIXRhZ3MubGVuZ3RoIHx8IGNvbXBhcmUuY29uc3RydWN0b3IubmFtZSAhPT0gJ1JlZ0V4cCcpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0YWdzLnNvbWUoKHsgaWQgPSAnJyB9ID0ge30pID0+IGlkICYmIGNvbXBhcmUudGVzdChpZCkpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyB0aXRsZSBzb3J0ZWQgKEEtWilcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBbGwgY2FyZHMgc29ydGVkIGJ5IHRpdGxlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUaXRsZUFzY1NvcnQgPSBjYXJkcyA9PiBjYXJkcy5zb3J0KChjYXJkT25lLCBjYXJkVHdvKSA9PiB7XG4gICAgY29uc3QgY2FyZE9uZVRpdGxlID0gZ2V0QnlQYXRoKGNhcmRPbmUsICdjb250ZW50QXJlYS50aXRsZScpO1xuICAgIGNvbnN0IGNhcmRUd29UaXRsZSA9IGdldEJ5UGF0aChjYXJkVHdvLCAnY29udGVudEFyZWEudGl0bGUnKTtcbiAgICByZXR1cm4gY2FyZE9uZVRpdGxlLmxvY2FsZUNvbXBhcmUoY2FyZFR3b1RpdGxlKTtcbn0pO1xuXG4vKipcbiAqIFJldHVybnMgYWxsIGNhcmRzIHRpdGxlIHNvcnRlZCAoWi1BKVxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgdGl0bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFRpdGxlRGVzY1NvcnQgPSBjYXJkcyA9PiBnZXRUaXRsZUFzY1NvcnQoY2FyZHMpLnJldmVyc2UoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyBzb3J0ZWQgYnkgZGF0ZSBtb2RpZmllZCBuZXdlc3QgdG8gb2xkZXN0XG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHNvcnRlZCBieSB0aXRsZVxuICovXG5leHBvcnQgY29uc3QgZ2V0TW9kaWZpZWREZXNjU29ydCA9IGNhcmRzID0+IGNhcmRzLnNvcnQoKGNhcmRPbmUsIGNhcmRUd28pID0+IHtcbiAgICBjb25zdCBjYXJkT25lTW9kRGF0ZSA9IGdldEJ5UGF0aChjYXJkT25lLCAnbW9kaWZpZWREYXRlJyk7XG4gICAgY29uc3QgY2FyZFR3b01vZERhdGUgPSBnZXRCeVBhdGgoY2FyZFR3bywgJ21vZGlmaWVkRGF0ZScpO1xuICAgIGlmIChjYXJkT25lTW9kRGF0ZSAmJiBjYXJkVHdvTW9kRGF0ZSkge1xuICAgICAgICByZXR1cm4gY2FyZFR3b01vZERhdGUubG9jYWxlQ29tcGFyZShjYXJkT25lTW9kRGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiAwO1xufSk7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgY2FyZHMgc29ydGVkIGJ5IGRhdGUgbW9kaWZpZWQgb2xkZXN0IHRvIG5ld2VzdFxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgdGl0bGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1vZGlmaWVkQXNjU29ydCA9IGNhcmRzID0+IGdldE1vZGlmaWVkRGVzY1NvcnQoY2FyZHMpLnJldmVyc2UoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBjYXJkcyBGZWF0dXJlZCBzb3J0ZWRcbiAqIFRoaXMganVzdCByZXR1cm5zIHRoZSBvcmlnaW5hbCBjYXJkcyByZXR1cm5lZCBieSBDaGltZXJhIElPXG4gKiBDaGltZXJhIElPIGlzIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyBmZWF0dXJlZCBzb3J0XG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQ2FyZHMgaW4gdGhlIG9yaWdpbmFsIG9yZGVyIGdpdmVuIGJ5IENoaW1lcmEgSU9cbiAqL1xuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkU29ydCA9IGNhcmRzID0+IGNhcmRzO1xuXG4vKipcbiAqIFJldHVybnMgYWxsIENhcmRzIERhdGUgU29ydGVkIChPbGQgVG8gTmV3KVxuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gdGhlIGNhcmQgY29sbGVjdGlvblxuICogQHJldHVybnMge0FycmF5fSAtIEFsbCBjYXJkcyBzb3J0ZWQgYnkgRGF0ZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGF0ZUFzY1NvcnQgPSBjYXJkcyA9PiBjYXJkcy5zb3J0KChjYXJkT25lLCBjYXJkVHdvKSA9PiB7XG4gICAgY29uc3QgY2FyZE9uZURhdGUgPSBnZXRCeVBhdGgoY2FyZE9uZSwgJ2NhcmREYXRlJyk7XG4gICAgY29uc3QgY2FyZFR3b0RhdGUgPSBnZXRCeVBhdGgoY2FyZFR3bywgJ2NhcmREYXRlJyk7XG4gICAgaWYgKGNhcmRPbmVEYXRlICYmIGNhcmRUd29EYXRlKSB7XG4gICAgICAgIGlmIChjYXJkT25lRGF0ZSAhPT0gY2FyZFR3b0RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjYXJkT25lRGF0ZS5sb2NhbGVDb21wYXJlKGNhcmRUd29EYXRlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGNhcmRPbmUuaWQgfHwgJycpLmxvY2FsZUNvbXBhcmUoY2FyZFR3by5pZCB8fCAnJyk7XG4gICAgfVxuICAgIHJldHVybiAwO1xufSk7XG5cbi8qKlxuICogUmV0dXJucyBhbGwgQ2FyZHMgRGF0ZSBTb3J0ZWQgKE5ldyBUbyBPbGQpXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHNvcnRlZCBieSBEYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREYXRlRGVzY1NvcnQgPSBjYXJkcyA9PiBnZXREYXRlQXNjU29ydChjYXJkcykucmV2ZXJzZSgpO1xuXG4vKipcbiAqIENvbnZlcnQgYSBwYXRoIHN0cmluZyBsaWtlICdmb290ZXJbMF0ubGVmdFsxXS5zdGFydFRpbWUnXG4gKiBpbnRvIGFuIGFycmF5IG9mIGtleXM6IFsnZm9vdGVyJywnMCcsJ2xlZnQnLCcxJywnc3RhcnRUaW1lJ10uXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUGF0aFN0cmluZyhwYXRoU3RyaW5nKSB7XG4gICAgaWYgKHBhdGhTdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhdGhTdHJpbmcucmVwbGFjZSgvXFxbKFxcZCspXFxdL2csICcuJDEnKS5zcGxpdCgnLicpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG59XG5cbi8qKlxuICogU2FmZWx5IGdldCBhIG5lc3RlZCBwcm9wZXJ0eSBmcm9tIGFuIG9iamVjdFxuICogdXNpbmcgYSBwYXRoIHN0cmluZyB3aXRoIGRvdC9icmFja2V0IG5vdGF0aW9uLlxuICogZS5nLiBzYWZlR2V0KGNhcmQsICdmb290ZXJbMF0ubGVmdFsxXS5zdGFydFRpbWUnLCAnJylcbiAqL1xuZnVuY3Rpb24gc2FmZUdldChvYmosIHBhdGhTdHJpbmcsIGRlZmF1bHRWYWwpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhcnNlUGF0aFN0cmluZyhwYXRoU3RyaW5nKTtcbiAgICBsZXQgY3VycmVudCA9IG9iajtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGN1cnJlbnQgPT0gbnVsbCB8fCB0eXBlb2YgY3VycmVudCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGtleSA9IHBhcnRzW2ldO1xuICAgICAgICBpZiAoIShrZXkgaW4gY3VycmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkZWZhdWx0VmFsO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnQgPSBjdXJyZW50W2tleV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnQgPT0gbnVsbCA/IGRlZmF1bHRWYWwgOiBjdXJyZW50O1xufVxuXG4vKipcbiAqIEBmdW5jIGdldEV2ZW50U29ydFxuICogQGRlc2MgVGhpcyBtZXRob2QsIGlmIG5lZWRlZCwgc2V0cyB1cCBUaW1pbmcgZmVhdHVyZXMgZm9yIGEgY29sbGVjdGlvblxuICgxKSBIYXMgdG8gY2hlY2sgZWFjaCBjYXJkIGZvciBjYXJkLmNvbnRlbnRBcmVhLmRhdGVEZXRhaWxUZXh0LnN0YXJ0VGltZVxuIHx8IGVuZFRpbWUsIGlmIG5laXRoZXIgdGhlIGNhcmQgZ2V0cyBwdXNoZWQgdG8gYmFjayBvZiBzdGFjay5cbiAoMikgVGhlcmUgYXJlIHNpeCBjYXRlZ29yaWVzIGZvciBjb25zaWRlcmF0aW9uXG4gYS4gTGl2ZTogQ3VycmVudCBUaW1lID4gU3RhcnQgVGltZSAmJiBDdXJyZW50IFRpbWUgPCBFbmQgVGltZVxuIGIuIFVwY29taW5nOiBDdXJyZW50IFRpbWUgPCBTdGFydCBUaW1lIGFuZCBkb2VzIG5vdCBoYXZlXG4gXCJPbkRlbWFuZCBzY2hlZHVsZWRcIiB0YWcgd2hpY2ggY2Fubm90IHNob3cgdW50aWwgaXQgaXMgb25EZW1hbmRcbiBjLiBcIk9uRGVtYW5kIHNjaGVkdWxlZFwiOiBVcENvbWluZywgYW5kIGhhcyBcIk9uRGVtYW5kIHNjaGVkdWxlZFwiIHRhZyxcbiB3aWxsIG5vdCBiZSBzZWVuIHVudGlsIGl0IGlzIE9uRGVtYW5kLlxuIGQuIE9uRGVtYW5kOiBDdXJyZW50IFRpbWUgPiBFbmQgVGltZSwgZG9lcyBub3QgaGF2ZSBcIkxpdmUgRXhwaXJlZFwiIHRhZ1xuIGUuIExpdmUgRXhwaXJlZDogT25EZW1hbmQsIGhhcyBcImxpdmUtZXhwaXJlZFwiIHRhZywgYW5kIGlzIG5vIGxvbmdlciBzaG93bi5cbiBmLiBBbGwgb3RoZXIgY2FyZHMsIG5vdCBoYXZpbmcgc3RhcnRUaW1lIHx8IGVuZFRpbWUuXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIEFsbCBjYXJkcyBpbiB0aGUgY2FyZCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gdXJsU3RhdGUgLSBVUkwgc2VhcmNoL3F1ZXJ5IFBhcmFtcy5cbiAqIEByZXR1cm5zIHtBcnJheX0gdmlzaWJsZUNhcmRzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRFdmVudFNvcnQgPSAoY2FyZHMgPSBbXSwgZXZlbnRGaWx0ZXIpID0+IHtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZENhcmRzID0gY2FyZHMubWFwKGNhcmQgPT4gKHtcbiAgICAgICAgaWQ6IGNhcmQuaWQsXG4gICAgICAgIHN0YXJ0RGF0ZTogc2FmZUdldChjYXJkLCAnZm9vdGVyWzBdLmxlZnRbMV0uc3RhcnRUaW1lJywgc2FmZUdldChjYXJkLCAnY29udGVudEFyZWEuZGF0ZURldGFpbFRleHQuc3RhcnRUaW1lJywgJycpKSxcbiAgICAgICAgZW5kRGF0ZTogc2FmZUdldChjYXJkLCAnZm9vdGVyWzBdLmxlZnRbMV0uZW5kVGltZScsIHNhZmVHZXQoY2FyZCwgJ2NvbnRlbnRBcmVhLmRhdGVEZXRhaWxUZXh0LmVuZFRpbWUnLCAnJykpLFxuICAgICAgICB0YWdzOiBjYXJkLnRhZ3MgfHwgW10sXG4gICAgICAgIGNhcmREYXRlOiBjYXJkLmNhcmREYXRlIHx8ICcnLFxuICAgICAgICBjb250ZW50QXJlYTogY2FyZC5jb250ZW50QXJlYSB8fCB7fSxcbiAgICAgICAgY3JlYXRlZERhdGU6IGNhcmQuY3JlYXRlZERhdGUgfHwgJycsXG4gICAgICAgIGN0YUxpbms6IGNhcmQuY3RhTGluayB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGNhcmQuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgIGZvb3RlcjogY2FyZC5mb290ZXIgfHwgW10sXG4gICAgICAgIGluaXRpYWw6IGNhcmQuaW5pdGlhbCB8fCB7fSxcbiAgICAgICAgaXNCb29rbWFya2VkOiBjYXJkLmlzQm9va21hcmtlZCB8fCBmYWxzZSxcbiAgICAgICAgbW9kaWZpZWREYXRlOiBjYXJkLm1vZGlmaWVkRGF0ZSB8fCAnJyxcbiAgICAgICAgb3ZlcmxheUxpbms6IGNhcmQub3ZlcmxheUxpbmsgfHwgJycsXG4gICAgICAgIG92ZXJsYXlzOiBjYXJkLm92ZXJsYXlzIHx8IHt9LFxuICAgICAgICBzaG93Q2FyZDogY2FyZC5zaG93Q2FyZCB8fCB7fSxcbiAgICAgICAgc2VhcmNoOiBjYXJkLnNlYXJjaCB8fCB7fSxcbiAgICAgICAgc3R5bGVzOiBjYXJkLnN0eWxlcyB8fCB7fSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBldmVudFRpbWluZyh0cmFuc2Zvcm1lZENhcmRzLCBldmVudEZpbHRlcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB2aXNpYmxlU2Vzc2lvbnM6IHJlc3VsdC52aXNpYmxlU2Vzc2lvbnMsXG4gICAgICAgIG5leHRUcmFuc2l0aW9uTXM6IHJlc3VsdC5uZXh0VHJhbnNpdGlvbk1zLFxuICAgIH07XG59O1xuLyoqXG4gKiBHZXRzIGFsbCBjYXJkcyB0aGF0IG1hdGNoZXMgYSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7U3RyaW5nfSBxdWVyeSAtIFRoZSB1c2VycyBzZWFyY2ggcXVlcnlcbiAqIEBwYXJhbSB7QXJyYXl9IGNhcmRzIC0gQWxsIGNhcmRzIGluIHRoZSBjYXJkIGNvbGxlY3Rpb25cbiAqIEBwYXJhbSB7QXJyYXl9IHNlYXJjaEZpZWxkcyAtIEFsbCBhdXRob3JlZCBzZWFyY2ggZmllbGRzIHRvIGNoZWNrXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQWxsIGNhcmRzIHRoYXQgbWF0Y2ggdGhlIHVzZXIncyBxdWVyeSBmb3IgYSBnaXZlbiBzZXQgb2Ygc2VhcmNoIGZpZWxkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0Q2FyZHNNYXRjaGluZ1NlYXJjaCA9IChxdWVyeSwgY2FyZHMsIHNlYXJjaEZpZWxkcykgPT4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgICAgcmV0dXJuIGNhcmRzO1xuICAgIH1cbiAgICBjb25zdCBzZWFyY2hRdWVyeSA9IHNhbml0aXplVGV4dChxdWVyeSk7XG4gICAgY29uc3QgY2FyZHNNYXRjaGluZ1F1ZXJ5ID0gZ2V0Q2FyZHNNYXRjaGluZ1F1ZXJ5KGNhcmRzLCBzZWFyY2hGaWVsZHMsIHNlYXJjaFF1ZXJ5KTtcbiAgICByZXR1cm4gY2FyZHNNYXRjaGluZ1F1ZXJ5O1xufTtcblxuLyoqXG4gKiBKb2lucyB0d28gc2V0cyBvZiBjYXJkc1xuICogQHBhcmFtIHtBcnJheX0gY2FyZFNldE9uZSAtIFNldCBvbmUgb2YgY2FyZHMgdG8gam9pblxuICogQHBhcmFtIHtBcnJheX0gY2FyZFNldFR3byAtIFNldCB0d28gb2YgY2FyZHMgdG8gam9pblxuICogQHJldHVybnMge0FycmF5fSAtIENhcmRzIHNldHMgb25lIGFuZCB0d28gam9pbmVkXG4gKi9cbmV4cG9ydCBjb25zdCBqb2luQ2FyZFNldHMgPSAoY2FyZFNldE9uZSwgY2FyZFNldFR3bykgPT4gY2FyZFNldE9uZS5jb25jYXQoY2FyZFNldFR3byk7XG5cbi8qKlxuICogUHJvY2Vzc2VzIGZlYXR1cmVkIGNhcmRzIHdpdGggcmF3IGNhcmRzIHJlY2VpdmVkIGZyb20gQVBJIHJlc3BvbnNlXG4gKiBAcGFyYW0ge0FycmF5fSBmZWF0dXJlZENhcmRzIC0gQXV0aG9yZWQgRmVhdHVyZWQgQ2FyZHNcbiAqIEBwYXJhbSB7QXJyYXl9IHJhd0NhcmRzIC0gQ2FyZHMgZnJvbSBBUEkgcmVzcG9uc2VcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBTZXQgb2YgY2FyZHMgcHJvY2Vzc2VkXG4gKi9cbmV4cG9ydCBjb25zdCBwcm9jZXNzQ2FyZHMgPSAoZmVhdHVyZWRDYXJkcywgcmF3Q2FyZHMpID0+IHJlbW92ZUR1cGxpY2F0ZXNCeUtleShqb2luQ2FyZFNldHMoZmVhdHVyZWRDYXJkcywgcmF3Q2FyZHMpLCAnaWQnKTtcblxuLyoqXG4gKiBIZWxwZXIgbWV0aG9kIGZvciBlZmZlY3QgdGhhdCBhZGRzIGJvb2ttYXJrIG1ldGEgZGF0YSB0byBjYXJkc1xuICogQHBhcmFtIHtBcnJheX0gY2FyZHMgLSBBbGwgY2FyZHMgaW4gY2FyZCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge0FycmF5fSBib29rbWFya2VkQ2FyZElkcyAtIEFsbCBib29rbWFya2VkIGNhcmQgaWRzXG4gKiBAcmV0dXJucyB7QXJyYXl9IC0gQ2FyZHMgd2l0aCBib29rbWFyayBtZXRhIGRhdGFcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVwZGF0ZWRDYXJkQm9va21hcmtEYXRhID0gKGNhcmRzLCBib29rbWFya2VkQ2FyZElkcykgPT4gY2FyZHMubWFwKGNhcmQgPT4gKHtcbiAgICAuLi5jYXJkLFxuICAgIGlzQm9va21hcmtlZDogYm9va21hcmtlZENhcmRJZHMuc29tZShpID0+IGkgPT09IGNhcmQuaWQpLFxufSkpO1xuXG5jb25zdCBjYWNoZSA9IG5ldyBNYXAoKTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgcmFuZG9tIG51bWJlciBmcm9tIFtzdGFydCwgYm91bmQpXG4gKiBAcGFyYW0ge2ludH0gc3RhcnQgLSBTdGFydGluZyBib3VuZCAoaW5jbHVzaXZlKVxuICogQHBhcmFtIHtpbnR9IGVuZCAtIEVuZGluZyBib3VuZCAoZXhjbHVzaXZlKVxuICogQHJldHVybnMge2ludH0gLSBBIHJhbmRvbSBpbnRlZ2VyIGJldHdlZW4gW3N0YXJ0LCBib3VuZClcbiAqL1xuZnVuY3Rpb24gZ2V0UmFuZG9tKHN0YXJ0LCBlbmQpIHtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGVuZCAtIHN0YXJ0KSkgKyBzdGFydDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgcmFuZG9tIHNhbXBsZSBvZiBzYW1wbGVTaXplIGZyb20gYW4gYXJyYXkgc3RyZWFtXG4gKiBAcGFyYW0ge0FycmF5fSBzdHJlYW0gLSBBbiBhcnJheSBvZiBpdGVtcyB0byBzZWxlY3QgYSByYW5kb20gc2FtcGxlIGZyb21cbiAqIEBwYXJhbSB7aW50fSBzYW1wbGVTaXplIC0gVGhlIHNpemUgb2YgdGhlIHJhbmRvbSBzYW1wbGVcbiAqIEByZXR1cm5zIHtBcnJheX0gLSBBIHJhbmRvbSBzYW1wbGUgZnJvbSB0aGUgYXJyYXkgc3RyZWFtXG4gKi9cbmZ1bmN0aW9uIHJlc2Vydm9pclNhbXBsZShzdHJlYW0sIHNhbXBsZVNpemUpIHtcbiAgICBjb25zdCByZXNlcnZvaXIgPSBbXTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbiAgICBmb3IgKGNvbnN0IFtpLCB2YWxdIG9mIE9iamVjdC5lbnRyaWVzKHN0cmVhbSkpIHtcbiAgICAgICAgaWYgKHJlc2Vydm9pci5sZW5ndGggPCBzYW1wbGVTaXplKSB7XG4gICAgICAgICAgICByZXNlcnZvaXIucHVzaCh2YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcmFuZG9tID0gZ2V0UmFuZG9tKDAsIGkgKyAxKTtcbiAgICAgICAgICAgIGlmIChyYW5kb20gPCBzYW1wbGVTaXplKSB7XG4gICAgICAgICAgICAgICAgcmVzZXJ2b2lyW3JhbmRvbV0gPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc2Vydm9pcjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBpbnB1dCBhcnJheSByYW5kb21seSBzaHVmZmxlZCB1c2luZyB0aGUgRmlzaGVyLVlhdGVzIGFsZ29yaXRobS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnIgLSBBcnJheSB0byBiZSBzaHVmZmxlZFxuICogQHJldHVybnMge0FycmF5fSAtIFRoZSBzaHVmZmxlZCBhcnJheVxuICovXG5mdW5jdGlvbiBmaXNjaGVyWWF0ZXNTaHVmZmxlKGFycikge1xuICAgIGxldCBjdXJyZW50SW5kZXggPSBhcnIubGVuZ3RoO1xuICAgIGxldCByYW5kb21JbmRleDtcbiAgICB3aGlsZSAoY3VycmVudEluZGV4ICE9PSAwKSB7XG4gICAgICAgIHJhbmRvbUluZGV4ID0gZ2V0UmFuZG9tKDAsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wbHVzcGx1cyAqL1xuICAgICAgICBjdXJyZW50SW5kZXgtLTtcbiAgICAgICAgW2FycltjdXJyZW50SW5kZXhdLCBhcnJbcmFuZG9tSW5kZXhdXSA9IFthcnJbcmFuZG9tSW5kZXhdLCBhcnJbY3VycmVudEluZGV4XV07XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBhbiBhcnJheSBvZiByYW5kb21seSBzb3J0ZWQgY2FyZHMuXG4gKlxuICogSWYgdGhlIGNhcmRzIGZvciBhIGdpdmVuIGNhcmQgY29sbGVjdGlvbiBoYXZlIGFscmVhZHkgYmVlbiBzb3J0ZWQsIHJldHVybiBmcm9tIGNhY2hlLlxuICogT3RoZXJ3aXNlIHNvcnQgcmFuZG9tbHkgYW5kIGNhY2hlIHJlc3VsdC5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBjYXJkcyAtIGNhcmRzIHRvIGJlIHJhbmRvbWx5IHNvcnRlZFxuICogQHBhcmFtIHtpbnR9IGlkIC0gSWQgb2YgdGhlIGNhcmQgY29sbGVjdGlvbiB0aGUgY2FyZHMgYmVsb25nIHRvLlxuICogQHBhcmFtIHtpbnR9IHNhbXBsZVNpemUgLSBzYW1wbGUgc2l6ZSB1c2VkIGZvciB0aGUgcmFuZG9tIHNhbXBsZVxuICogQHJldHVybnMge0FycmF5fSAtIEFuIGFycmF5IG9mIHJhbmRvbWx5IHNvcnRlZCBjYXJkc1xuICovXG5leHBvcnQgY29uc3QgZ2V0UmFuZG9tU29ydCA9IChjYXJkcywgaWQsIHNhbXBsZVNpemUsIHJlc2Vydm9pclNpemUpID0+IHtcbiAgICBpZiAoIWNhY2hlLmdldChpZCkpIHtcbiAgICAgICAgY29uc3Qgc3RyZWFtID0gZmlzY2hlcllhdGVzU2h1ZmZsZShjYXJkcy5zbGljZSgwLCByZXNlcnZvaXJTaXplKSk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVNhbXBsZSA9IHJlc2Vydm9pclNhbXBsZShzdHJlYW0sIHNhbXBsZVNpemUpO1xuICAgICAgICBjYWNoZS5zZXQoaWQsIHJhbmRvbVNhbXBsZSk7XG4gICAgfVxuICAgIHJldHVybiBjYWNoZS5nZXQoaWQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVkQ2FyZHMgPSAoaWRzLCBjYXJkcykgPT4ge1xuICAgIGNvbnN0IGFucyA9IFtdO1xuICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4gICAgZm9yIChjb25zdCBpZCBvZiBpZHMpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYXJkIG9mIGNhcmRzKSB7XG4gICAgICAgICAgICBpZiAoY2FyZC5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjYXJkKSk7IC8vIERlZXAgY2xvbmUgdXNpbmcgSlNPTiBtZXRob2RzXG4gICAgICAgICAgICAgICAgYy5pc0ZlYXR1cmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhbnMucHVzaChjKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYW5zO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIHNhbml0aXplZCAoaHRtbCBmcmllbmRseSkgc3RyaW5nXG4gKlxuICogSWYgdGhlIHN0cmluZyBjb25hdGlucyAnJmFtcDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnJidcbiAqIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgJyZsdDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnPCdcbiAqIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgJyZndDsnIGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAnPidcbiAqXG4gKiBAcGFyYW0ge3N0cn0gc3RyIC0gc3RyaW5nIHRvIGJlIHNhbml0aXplZFxuICogQHJldHVybnMge3N0cn0gLSBzYXRpbml6ZWQgc3RyaW5nXG4gKi9cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZVN0ciA9IHN0ciA9PiBzdHJcbiAgICAucmVwbGFjZUFsbCgnJmFtcDsnLCAnJicpXG4gICAgLnJlcGxhY2VBbGwoJyZsdDsnLCAnPCcpXG4gICAgLnJlcGxhY2VBbGwoJyZndDsnLCAnPicpO1xuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vcmVhY3Qvc3JjL2pzL2NvbXBvbmVudHMvQ29uc29uYW50L0hlbHBlcnMvSGVscGVycy5qcyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///22\n"); /***/ }), /* 23 */ diff --git a/react/src/js/components/Consonant/Helpers/Helpers.js b/react/src/js/components/Consonant/Helpers/Helpers.js index e5db5274..e10bc895 100644 --- a/react/src/js/components/Consonant/Helpers/Helpers.js +++ b/react/src/js/components/Consonant/Helpers/Helpers.js @@ -447,8 +447,8 @@ function safeGet(obj, pathString, defaultVal) { export const getEventSort = (cards = [], eventFilter) => { const transformedCards = cards.map(card => ({ id: card.id, - startDate: safeGet(card, 'contentArea.dateDetailText.startTime', safeGet(card, 'footer[0].left[1].startTime', '')), - endDate: safeGet(card, 'contentArea.dateDetailText.endTime', safeGet(card, 'footer[0].left[1].endTime', '')), + startDate: safeGet(card, 'footer[0].left[1].startTime', safeGet(card, 'contentArea.dateDetailText.startTime', '')), + endDate: safeGet(card, 'footer[0].left[1].endTime', safeGet(card, 'contentArea.dateDetailText.endTime', '')), tags: card.tags || [], cardDate: card.cardDate || '', contentArea: card.contentArea || {},