Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

angular2-cookie-law

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular2-cookie-law - npm Package Compare versions

Comparing version 6.0.3 to 6.0.4

34

bundles/angular2-cookie-law.umd.js

@@ -26,3 +26,4 @@ (function (global, factory) {

}
return this.cookieExisits(cookieName);
var /** @type {?} */ cookies = document.cookie.split(';');
return this.cookieExisits(cookieName, cookies);
};

@@ -44,2 +45,3 @@ /**

* @param {?} name
* @param {?} cookies
* @return {?}

@@ -49,16 +51,10 @@ */

* @param {?} name
* @param {?} cookies
* @return {?}
*/
function (name) {
var /** @type {?} */ ca = document.cookie.split(';');
var /** @type {?} */ caLen = ca.length;
var /** @type {?} */ cookieName = name + '=';
var /** @type {?} */ c;
for (var /** @type {?} */ i = 0; i < caLen; i += 1) {
c = ca[i].replace(/^\s\+/g, '');
if (c.indexOf(cookieName) !== -1) {
return true;
}
}
return false;
function (name, cookies) {
var /** @type {?} */ cookieName = name + "=";
return cookies.reduce(function (prev, curr) {
return prev || curr.trim().search(cookieName) > -1;
}, false);
};

@@ -76,7 +72,7 @@ /**

function (name, expiration) {
var /** @type {?} */ date = new Date();
var /** @type {?} */ expires;
date.setTime(date.getTime() + expiration * 86400000);
expires = '; expires=' + date.toUTCString();
document.cookie = encodeURIComponent(name) + '=true; path=/' + expires;
var /** @type {?} */ now = new Date();
var /** @type {?} */ exp = new Date(now.getTime() + expiration * 86400000);
var /** @type {?} */ cookieString = encodeURIComponent(name) +
("=true;path=/;expires=" + exp.toUTCString() + ";");
document.cookie = cookieString;
};

@@ -393,2 +389,2 @@ Angular2CookieLawService.decorators = [

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy51bWQuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvaWNvbnMudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuaW1hdGlvbnMudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9hbmd1bGFyMi1jb29raWUtbGF3LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB7XG5cbiAgcHVibGljIHNlZW4oY29va2llTmFtZTogc3RyaW5nID0gJ2Nvb2tpZUxhd1NlZW4nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llRXhpc2l0cyhjb29raWVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9yZUNvb2tpZShjb29raWVOYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb29raWUoY29va2llTmFtZSwgZXhwaXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGNvb2tpZUV4aXNpdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2E6IEFycmF5PHN0cmluZz4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcbiAgICBjb25zdCBjYUxlbjogbnVtYmVyID0gY2EubGVuZ3RoO1xuICAgIGNvbnN0IGNvb2tpZU5hbWUgPSBuYW1lICsgJz0nO1xuICAgIGxldCBjOiBzdHJpbmc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhTGVuOyBpICs9IDEpIHtcbiAgICAgIGMgPSBjYVtpXS5yZXBsYWNlKC9eXFxzXFwrL2csICcnKTtcbiAgICAgIGlmIChjLmluZGV4T2YoY29va2llTmFtZSkgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29va2llKG5hbWU6IHN0cmluZywgZXhwaXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBleHBpcmVzO1xuXG4gICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgZXhwaXJhdGlvbiAqIDg2NDAwMDAwKTtcbiAgICBleHBpcmVzID0gJzsgZXhwaXJlcz0nICsgZGF0ZS50b1VUQ1N0cmluZygpO1xuXG4gICAgZG9jdW1lbnQuY29va2llID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz10cnVlOyBwYXRoPS8nICsgZXhwaXJlcztcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuZXhwb3J0IGNvbnN0IGNsb3NlSWNvbiA9IGBcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XG4gICAgPHBhdGggZD1cIk0zNzcuMDQ3IDE4NC4xOThxMCA4LjI2LTYuMDM3IDE0LjI5N0wzMTMuNTA1IDI1Nmw1Ny41MDUgNTcuNTA1cTYuMDM3IDYuMDM3IDYuMDM3IDE0LjI5NyAwIDguNTc4LTYuMDM3XG4gICAgICAxNC42MTVsLTI4LjU5MyAyOC41OTNxLTYuMDM3IDYuMDM3LTE0LjYxNSA2LjAzNy04LjI2IDAtMTQuMjk3LTYuMDM3TDI1NiAzMTMuNTA1bC01Ny41MDUgNTcuNTA1cS02LjAzN1xuICAgICAgNi4wMzctMTQuMjk3IDYuMDM3LTguNTc4IDAtMTQuNjE1LTYuMDM3bC0yOC41OTMtMjguNTkzcS02LjAzNy02LjAzNy02LjAzNy0xNC42MTUgMC04LjI2IDYuMDM3LTE0LjI5N0wxOTguNDk1XG4gICAgICAyNTZsLTU3LjUwNS01Ny41MDVxLTYuMDM3LTYuMDM3LTYuMDM3LTE0LjI5NyAwLTguNTc4IDYuMDM3LTE0LjYxNWwyOC41OTMtMjguNTkzcTYuMDM3LTYuMDM3IDE0LjYxNS02LjAzNyA4LjI2IDBcbiAgICAgIDE0LjI5NyA2LjAzN0wyNTYgMTk4LjQ5NWw1Ny41MDUtNTcuNTA1cTYuMDM3LTYuMDM3IDE0LjI5Ny02LjAzNyA4LjU3OCAwIDE0LjYxNSA2LjAzN2wyOC41OTMgMjguNTkzcTYuMDM3IDYuMDM3XG4gICAgICA2LjAzNyAxNC42MTV6TTUwMCAyNTZxMC02Ni40MDEtMzIuNzI0LTEyMi40NzctMzIuNzI0LTU2LjA3NS04OC43OTktODguNzk5UTMyMi40MDEgMTIgMjU2IDEycS02Ni40MDEgMC0xMjIuNDc3XG4gICAgICAzMi43MjQtNTYuMDc1IDMyLjcyNC04OC43OTkgODguNzk5UTEyIDE4OS41OTkgMTIgMjU2cTAgNjYuNDAxIDMyLjcyNCAxMjIuNDc3IDMyLjcyNCA1Ni4wNzUgODguNzk5IDg4Ljc5OVExODkuNTk5XG4gICAgICA1MDAgMjU2IDUwMHE2Ni40MDEgMCAxMjIuNDc3LTMyLjcyNCA1Ni4wNzUtMzIuNzI0IDg4Ljc5OS04OC43OTlRNTAwIDMyMi40MDEgNTAwIDI1NnpcIj48L3BhdGg+XG4gIDwvc3ZnPmA7XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgdHJpZ2dlcixcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICBhbmltYXRlLFxuICB0cmFuc2l0aW9uLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlSW5PdXQ6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSA9XG4gIHRyaWdnZXIoJ3RyYW5zaXRpb24nLCBbXG4gICAgc3RhdGUoJyonLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcbiAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuXG4gICAgc3RhdGUoJ2JvdHRvbU91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSkpLFxuICAgIHN0YXRlKCd0b3BPdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXG5cbiAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHRvcEluJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSksXG4gICAgICBhbmltYXRlKCcxMDAwbXMgZWFzZS1pbi1vdXQnKSxcbiAgICBdKSxcblxuICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gYm90dG9tSW4nLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgnMTAwMG1zIGVhc2UtaW4tb3V0JyksXG4gICAgXSksXG5cbiAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcxMDAwbXMgZWFzZS1vdXQnKSksXG4gIF0pO1xuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgY2xvc2VJY29uIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgeyB0cmFuc2xhdGVJbk91dCB9IGZyb20gJy4vYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb29raWVMYXdBbmltYXRpb24sIENvb2tpZUxhd1RhcmdldCwgQ29va2llTGF3UG9zaXRpb24gfSBmcm9tICcuL2RlZmluaXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29va2llLWxhdy1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJjb29raWUtbGF3LXdyYXBwZXJcIlxuICAgIFtuZ1N0eWxlXT1cImN1cnJlbnRTdHlsZXNcIlxuICAgIFtAdHJhbnNpdGlvbl09XCJ0cmFuc2l0aW9uXCJcbiAgICAoQHRyYW5zaXRpb24uZG9uZSk9XCJhZnRlckRpc21pc3NBbmltYXRpb24oJGV2ZW50KVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb3B5XCI+XG4gICAgPHNwYW4gI3JlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJyZWYuY2hpbGROb2Rlcy5sZW5ndGggPT0gMFwiPlxuICAgICAgQnkgY29udGludWluZyB0byBicm93c2UgdGhlIHNpdGUsIHlvdSdyZSBhZ3JlZWluZyB0byBvdXIgdXNlIG9mIGNvb2tpZXMuXG4gICAgICA8c3BhbiAqbmdJZj1cImxlYXJuTW9yZVwiPlxuICAgICAgICBMZWFybiBtb3JlIGluIG91ciA8YSBbaHJlZl09XCJsZWFybk1vcmVcIiBbdGFyZ2V0XT1cInRhcmdldFwiIFtyZWxdPVwibm9vcGVuZXIgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiBudWxsXCI+cHJpdmFjeSBwb2xpY3k8L2E+LlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cblxuICAgIDxhIGhyZWY9XCIjXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNtaXNzXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNsb3NlU3ZnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcygkZXZlbnQpXCI+PC9hPlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgLmNvb2tpZS1sYXctd3JhcHBlcntiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2JiYjtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OkhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjIwMDtsaW5lLWhlaWdodDoyMHB4O3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO3otaW5kZXg6OTk5OTk5OTk5O2ZvbnQtc21vb3RoOmFsd2F5czstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfS5jb29raWUtbGF3LXdyYXBwZXIgYXtjb2xvcjojYmJiO3RyYW5zaXRpb246Y29sb3IgLjJzfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3Zlcntjb2xvcjojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3ZlciBzdmd7ZmlsbDojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjEwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6MjBweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6I2JiYjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RyYW5zaXRpb246ZmlsbCAuMnN9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4IDYwcHggMTBweCAxMHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgc3Bhbntjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjQwMH0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGE6YWN0aXZlLC5jb3B5IGE6aG92ZXJ7b3V0bGluZTowfUBtZWRpYSAobWluLXdpZHRoOjYwMHB4KXsuY29va2llLWxhdy13cmFwcGVyIC5jb3B5e3BhZGRpbmc6MjBweCA2MHB4IDIwcHggMjBweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7dG9wOjEwcHg7cmlnaHQ6MTVweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3t3aWR0aDoyNHB4O2hlaWdodDoyNHB4fX1gXSxcbiAgYW5pbWF0aW9uczogW3RyYW5zbGF0ZUluT3V0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY2xvc2VTdmc6IFNhZmVIdG1sO1xuICBwdWJsaWMgY3VycmVudFN0eWxlczogYW55O1xuICBwdWJsaWMgdHJhbnNpdGlvbjogQ29va2llTGF3QW5pbWF0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29va2llLWxhdycpXG4gIHB1YmxpYyBjb29raWVMYXdDbGFzczogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBnZXQgbGVhcm5Nb3JlKCkgeyByZXR1cm4gdGhpcy5fbGVhcm5Nb3JlOyB9XG4gIHNldCBsZWFybk1vcmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xlYXJuTW9yZSA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnKSA/IHZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBhd3NvbWVDbG9zZUljb24oKSB7IHJldHVybiB0aGlzLl9hd3NvbWVDbG9zZUljb247IH1cbiAgc2V0IGF3c29tZUNsb3NlSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXdzb21lQ2xvc2VJY29uID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScpID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHRhcmdldCgpIHsgcmV0dXJuIHRoaXMuX3RhcmdldDsgfVxuICBzZXQgdGFyZ2V0KHZhbHVlOiBDb29raWVMYXdUYXJnZXQpIHtcbiAgICB0aGlzLl90YXJnZXQgPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAnX2JsYW5rJyB8fCBgJHt2YWx1ZX1gID09PSAnX3NlbGYnKVxuICAgICAgICAgICAgICAgICAgICAgKSA/IHZhbHVlIDogJ19ibGFuayc7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcG9zaXRpb24oKSB7IHJldHVybiB0aGlzLl9wb3NpdGlvbjsgfVxuICBzZXQgcG9zaXRpb24odmFsdWU6IENvb2tpZUxhd1Bvc2l0aW9uKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAndG9wJyB8fCBgJHt2YWx1ZX1gID09PSAnYm90dG9tJylcbiAgICAgICAgICAgICAgICAgICAgICkgPyB2YWx1ZSA6ICdib3R0b20nO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG5vb3BlbmVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2xlYXJuTW9yZTogc3RyaW5nO1xuICBwcml2YXRlIF9hd3NvbWVDbG9zZUljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBDb29raWVMYXdUYXJnZXQ7XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBDb29raWVMYXdQb3NpdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICApIHtcbiAgICB0aGlzLnRyYW5zaXRpb24gPSAnYm90dG9tSW4nO1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgdGhpcy5jb29raWVMYXdDbGFzcyA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ub29wZW5lciA9IHRoaXMuX3RhcmdldCA9PT0gJ19ibGFuayc7XG4gICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAnYm90dG9tSW4nIDogJ3RvcEluJztcblxuICAgIGlmICh0aGlzLl9hd3NvbWVDbG9zZUljb24pIHtcbiAgICAgIHRoaXMuY2xvc2VTdmcgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgYDxpIGNsYXNzPVwiZmFiICR7dGhpcy5fYXdzb21lQ2xvc2VJY29ufVwiPjwvaT5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZVN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNsb3NlSWNvbik7XG4gICAgfVxuXG5cbiAgICB0aGlzLmN1cnJlbnRTdHlsZXMgPSB7XG4gICAgICAndG9wJzogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnMCcgOiBudWxsLFxuICAgICAgJ2JvdHRvbSc6IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ2luaXRpYWwnIDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFmdGVyRGlzbWlzc0FuaW1hdGlvbihldnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2dC50b1N0YXRlID09PSAndG9wT3V0JyB8fFxuICAgICAgICBldnQudG9TdGF0ZSA9PT0gJ2JvdHRvbU91dCcpIHtcbiAgICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc21pc3MoZXZ0PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQpIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHRoaXMudHJhbnNpdGlvbiA9IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ3RvcE91dCcgOiAnYm90dG9tT3V0JztcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3VGFyZ2V0LCBDb29raWVMYXdQb3NpdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb29raWUtbGF3JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y29va2llLWxhdy1jb21wb25lbnQgKm5nSWY9XCIhc2VlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthd3NvbWVDbG9zZUljb25dPVwiYXdzb21lQ2xvc2VJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlYXJuTW9yZV09XCJsZWFybk1vcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChpc1NlZW4pPVwiaGFzQmVlbkRpc21pc3NlZCgpXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9jb29raWUtbGF3LWNvbXBvbmVudD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuc2VlbicpXG4gIHB1YmxpYyBzZWVuOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoQ29va2llTGF3Q29tcG9uZW50KVxuICBwdWJsaWMgY29va2llTGF3Q29tcG9uZW50OiBDb29raWVMYXdDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGVhcm5Nb3JlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhcmdldDogQ29va2llTGF3VGFyZ2V0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3NpdGlvbjogQ29va2llTGF3UG9zaXRpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV4cGlyYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXdzb21lQ2xvc2VJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGdldCBjb29raWVMYXdTZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb29raWVMYXdTZXJ2aWNlOiBBbmd1bGFyMkNvb2tpZUxhd1NlcnZpY2UpIHtcbiAgICB0aGlzLm5hbWUgPSAnY29va2llTGF3U2Vlbic7IC8vIHNldCBhIGRlZmF1bHQgY29va2llIG5hbWUgaWYgbm90IHByb3ZpZGVkXG4gICAgdGhpcy5zZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlZW4gPSB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGhhc0JlZW5EaXNtaXNzZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVMYXdTZXJ2aWNlLnN0b3JlQ29va2llKHRoaXMubmFtZSwgdGhpcy5leHBpcmF0aW9uKTtcbiAgICB0aGlzLnNlZW4gPSB0cnVlO1xuICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZUxhd0NvbXBvbmVudC5kaXNtaXNzKCk7XG4gIH1cblxufVxuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb29raWVMYXdDb21wb25lbnQsXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdNb2R1bGUge1xuICBjb25zdHJ1Y3RvciAoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb29raWVMYXdNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb29raWVMYXdNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJJbmplY3RhYmxlIiwidHJpZ2dlciIsInN0YXRlIiwic3R5bGUiLCJ0cmFuc2l0aW9uIiwiYW5pbWF0ZSIsIkV2ZW50RW1pdHRlciIsIkNvbXBvbmVudCIsIlZpZXdFbmNhcHN1bGF0aW9uIiwiRG9tU2FuaXRpemVyIiwiSG9zdEJpbmRpbmciLCJJbnB1dCIsIk91dHB1dCIsIlZpZXdDaGlsZCIsIk5nTW9kdWxlIiwiQ29tbW9uTW9kdWxlIiwiT3B0aW9uYWwiLCJTa2lwU2VsZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFlUyx1Q0FBSTs7OztzQkFBQyxVQUFvQztnQkFBcEMsMkJBQUE7b0JBQUEsNEJBQW9DOztnQkFDOUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7O1FBR2pDLDhDQUFXOzs7OztzQkFBQyxVQUFrQixFQUFFLFVBQW1CO2dCQUN4RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7UUFHeEMsZ0RBQWE7Ozs7c0JBQUMsSUFBWTtnQkFDaEMscUJBQU0sRUFBRSxHQUFrQixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckQscUJBQU0sS0FBSyxHQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLHFCQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO2dCQUM5QixxQkFBSSxDQUFTLENBQUM7Z0JBRWQsS0FBSyxxQkFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDakMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7d0JBQ2hDLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2lCQUNGO2dCQUVELE9BQU8sS0FBSyxDQUFDOzs7Ozs7O1FBR1AsNENBQVM7Ozs7O3NCQUFDLElBQVksRUFBRSxVQUFtQjtnQkFDakQscUJBQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLHFCQUFJLE9BQU8sQ0FBQztnQkFFWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUM7Z0JBQ3JELE9BQU8sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUU1QyxRQUFRLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsR0FBRyxPQUFPLENBQUM7OztvQkFwQzFFQSxhQUFVLFNBQUM7d0JBQ1YsVUFBVSxFQUFFLE1BQU07cUJBQ25COzs7dUNBWkQ7Ozs7Ozs7Ozs7Ozs7O0FDUUEsSUFBTyxxQkFBTSxTQUFTLEdBQUcsdytCQVVoQixDQUFDOzs7Ozs7eUJDREcsY0FBYyxHQUN6QkMsa0JBQU8sQ0FBQyxZQUFZLEVBQUU7UUFDcEJDLGdCQUFLLENBQUMsR0FBRyxFQUFFQyxnQkFBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFDakRELGdCQUFLLENBQUMsTUFBTSxFQUFFQyxnQkFBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7UUFFcERELGdCQUFLLENBQUMsV0FBVyxFQUFFQyxnQkFBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUM1REQsZ0JBQUssQ0FBQyxRQUFRLEVBQUVDLGdCQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBRTFEQyxxQkFBVSxDQUFDLGVBQWUsRUFBRTtZQUMxQkQsZ0JBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pDRSxrQkFBTyxDQUFDLG9CQUFvQixDQUFDO1NBQzlCLENBQUM7UUFFRkQscUJBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUM3QkQsZ0JBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hDRSxrQkFBTyxDQUFDLG9CQUFvQixDQUFDO1NBQzlCLENBQUM7UUFFRkQscUJBQVUsQ0FBQyxRQUFRLEVBQUVDLGtCQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNqRCxDQUFDOzs7Ozs7O1FDNkRGLDRCQUNVO1lBQUEsaUJBQVksR0FBWixZQUFZOzBCQVZOLElBQUlDLGVBQVksRUFBVztZQVl6QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1Qjs4QkEzQ0cseUNBQVM7Ozs4QkFBSyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7Ozs7Z0JBQ3pDLFVBQWMsS0FBYTtnQkFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBRyxLQUFPLEtBQUssT0FBTyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7YUFDN0U7Ozs7OEJBR0csK0NBQWU7Ozs4QkFBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzs7OztnQkFDckQsVUFBb0IsS0FBYTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFHLEtBQU8sS0FBSyxPQUFPLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQzthQUNuRjs7Ozs4QkFHRyxzQ0FBTTs7OzhCQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQzs7OztnQkFDbkMsVUFBVyxLQUFzQjtnQkFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBRyxLQUFPLEtBQUssT0FBTztxQkFDckMsS0FBRyxLQUFPLEtBQUssUUFBUSxJQUFJLEtBQUcsS0FBTyxLQUFLLE9BQU8sQ0FBQyxJQUNoRCxLQUFLLEdBQUcsUUFBUSxDQUFDO2FBQ3ZDOzs7OzhCQUdHLHdDQUFROzs7OEJBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDOzs7O2dCQUN2QyxVQUFhLEtBQXdCO2dCQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFHLEtBQU8sS0FBSyxPQUFPO3FCQUN2QyxLQUFHLEtBQU8sS0FBSyxLQUFLLElBQUksS0FBRyxLQUFPLEtBQUssUUFBUSxDQUFDLElBQzlDLEtBQUssR0FBRyxRQUFRLENBQUM7YUFDdkM7Ozs7Ozs7UUFvQk0scUNBQVE7Ozs7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO2dCQUVwRSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUN2RCxvQkFBaUIsSUFBSSxDQUFDLGdCQUFnQixZQUFRLENBQUMsQ0FBQztpQkFDbkQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN0RTtnQkFHRCxJQUFJLENBQUMsYUFBYSxHQUFHO29CQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUk7b0JBQzNDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssR0FBRyxTQUFTLEdBQUcsSUFBSTtpQkFDckQsQ0FBQzs7Ozs7O1FBR0csa0RBQXFCOzs7O3NCQUFDLEdBQW1CO2dCQUM5QyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssUUFBUTtvQkFDeEIsR0FBRyxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4Qjs7Ozs7O1FBR0ksb0NBQU87Ozs7c0JBQUMsR0FBZ0I7Z0JBQzdCLElBQUksR0FBRyxFQUFFO29CQUNQLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDdEI7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssR0FBRyxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7b0JBaEh0RUMsWUFBUyxTQUFDO3dCQUNULFFBQVEsRUFBRSxzQkFBc0I7d0JBQ2hDLFFBQVEsRUFBRSx3dUJBb0JYO3dCQUNDLE1BQU0sRUFBRSxDQUFDLHltQ0FBeW1DLENBQUM7d0JBQ25uQyxVQUFVLEVBQUUsQ0FBQyxjQUFjLENBQUM7d0JBQzVCLGFBQWEsRUFBRUMsb0JBQWlCLENBQUMsSUFBSTtxQkFDdEM7Ozs7O3dCQWhDUUMsNEJBQVk7Ozs7dUNBdUNsQkMsY0FBVyxTQUFDLGtCQUFrQjtrQ0FHOUJDLFFBQUs7d0NBTUxBLFFBQUs7K0JBTUxBLFFBQUs7aUNBUUxBLFFBQUs7K0JBUUxDLFNBQU07O2lDQXZGVDs7Ozs7Ozs7UUNvRUUscUNBQW9CLGdCQUEwQztZQUExQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCOzBCQU45QyxJQUFJTixlQUFZLEVBQVc7WUFPekMsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDbEI7OEJBUFUsc0RBQWE7Ozs7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7Ozs7O1FBUXhDLDhDQUFROzs7O2dCQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7O1FBRzdDLHNEQUFnQjs7OztnQkFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztRQUdsQiw2Q0FBTzs7OztnQkFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7OztvQkE5RHJDQyxZQUFTLFNBQUM7d0JBQ1QsUUFBUSxFQUFFLFlBQVk7d0JBQ3RCLFFBQVEsRUFBRSxtWUFTVDtxQkFDRjs7Ozs7d0JBaEJRLHdCQUF3Qjs7Ozs2QkFtQjlCRyxjQUFXLFNBQUMsV0FBVzsyQ0FHdkJHLFlBQVMsU0FBQyxrQkFBa0I7NkJBRzVCRixRQUFLO2tDQUdMQSxRQUFLOytCQUdMQSxRQUFLO2lDQUdMQSxRQUFLO21DQUdMQSxRQUFLO3dDQUdMQSxRQUFLOytCQUdMQyxTQUFNOzswQ0E3RFQ7Ozs7Ozs7O1FDMkJFLHlCQUFxQztZQUNuQyxJQUFJLFlBQVksRUFBRTtnQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FDYixvRUFBb0UsQ0FBQyxDQUFDO2FBQ3pFO1NBQ0Y7O29CQWxCRkUsV0FBUSxTQUFDO3dCQUNSLE9BQU8sRUFBRTs0QkFDUEMsbUJBQVk7eUJBQ2I7d0JBQ0QsWUFBWSxFQUFFOzRCQUNaLGtCQUFrQjs0QkFDbEIsMkJBQTJCO3lCQUM1Qjt3QkFDRCxPQUFPLEVBQUU7NEJBQ1AsMkJBQTJCO3lCQUM1QjtxQkFDRjs7Ozs7d0JBQ1ksZUFBZSx1QkFDWkMsV0FBUSxZQUFJQyxXQUFROzs7OEJBM0JwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy51bWQuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvaWNvbnMudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuaW1hdGlvbnMudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9hbmd1bGFyMi1jb29raWUtbGF3LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXcubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB7XG4gIHB1YmxpYyBzZWVuKGNvb2tpZU5hbWU6IHN0cmluZyA9ICdjb29raWVMYXdTZWVuJyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZXM6IEFycmF5PHN0cmluZz4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcblxuICAgIHJldHVybiB0aGlzLmNvb2tpZUV4aXNpdHMoY29va2llTmFtZSwgY29va2llcyk7XG4gIH1cblxuICBwdWJsaWMgc3RvcmVDb29raWUoY29va2llTmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0Q29va2llKGNvb2tpZU5hbWUsIGV4cGlyYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb29raWVFeGlzaXRzKG5hbWU6IHN0cmluZywgY29va2llczogQXJyYXk8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZU5hbWUgPSBgJHtuYW1lfT1gO1xuXG4gICAgcmV0dXJuIGNvb2tpZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PlxuICAgICAgcHJldiB8fCBjdXJyLnRyaW0oKS5zZWFyY2goY29va2llTmFtZSkgPiAtMSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBleHA6IERhdGUgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgZXhwaXJhdGlvbiAqIDg2NDAwMDAwKTtcblxuICAgIGNvbnN0IGNvb2tpZVN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArXG4gICAgICBgPXRydWU7cGF0aD0vO2V4cGlyZXM9JHtleHAudG9VVENTdHJpbmcoKX07YDtcblxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcbiAgfVxufVxuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmV4cG9ydCBjb25zdCBjbG9zZUljb24gPSBgXG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTEyIDUxMlwiPlxuICAgIDxwYXRoIGQ9XCJNMzc3LjA0NyAxODQuMTk4cTAgOC4yNi02LjAzNyAxNC4yOTdMMzEzLjUwNSAyNTZsNTcuNTA1IDU3LjUwNXE2LjAzNyA2LjAzNyA2LjAzNyAxNC4yOTcgMCA4LjU3OC02LjAzN1xuICAgICAgMTQuNjE1bC0yOC41OTMgMjguNTkzcS02LjAzNyA2LjAzNy0xNC42MTUgNi4wMzctOC4yNiAwLTE0LjI5Ny02LjAzN0wyNTYgMzEzLjUwNWwtNTcuNTA1IDU3LjUwNXEtNi4wMzdcbiAgICAgIDYuMDM3LTE0LjI5NyA2LjAzNy04LjU3OCAwLTE0LjYxNS02LjAzN2wtMjguNTkzLTI4LjU5M3EtNi4wMzctNi4wMzctNi4wMzctMTQuNjE1IDAtOC4yNiA2LjAzNy0xNC4yOTdMMTk4LjQ5NVxuICAgICAgMjU2bC01Ny41MDUtNTcuNTA1cS02LjAzNy02LjAzNy02LjAzNy0xNC4yOTcgMC04LjU3OCA2LjAzNy0xNC42MTVsMjguNTkzLTI4LjU5M3E2LjAzNy02LjAzNyAxNC42MTUtNi4wMzcgOC4yNiAwXG4gICAgICAxNC4yOTcgNi4wMzdMMjU2IDE5OC40OTVsNTcuNTA1LTU3LjUwNXE2LjAzNy02LjAzNyAxNC4yOTctNi4wMzcgOC41NzggMCAxNC42MTUgNi4wMzdsMjguNTkzIDI4LjU5M3E2LjAzNyA2LjAzN1xuICAgICAgNi4wMzcgMTQuNjE1ek01MDAgMjU2cTAtNjYuNDAxLTMyLjcyNC0xMjIuNDc3LTMyLjcyNC01Ni4wNzUtODguNzk5LTg4Ljc5OVEzMjIuNDAxIDEyIDI1NiAxMnEtNjYuNDAxIDAtMTIyLjQ3N1xuICAgICAgMzIuNzI0LTU2LjA3NSAzMi43MjQtODguNzk5IDg4Ljc5OVExMiAxODkuNTk5IDEyIDI1NnEwIDY2LjQwMSAzMi43MjQgMTIyLjQ3NyAzMi43MjQgNTYuMDc1IDg4Ljc5OSA4OC43OTlRMTg5LjU5OVxuICAgICAgNTAwIDI1NiA1MDBxNjYuNDAxIDAgMTIyLjQ3Ny0zMi43MjQgNTYuMDc1LTMyLjcyNCA4OC43OTktODguNzk5UTUwMCAzMjIuNDAxIDUwMCAyNTZ6XCI+PC9wYXRoPlxuICA8L3N2Zz5gO1xuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7XG4gIHRyaWdnZXIsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgYW5pbWF0ZSxcbiAgdHJhbnNpdGlvbixcbiAgQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUluT3V0OiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEgPVxuICB0cmlnZ2VyKCd0cmFuc2l0aW9uJywgW1xuICAgIHN0YXRlKCcqJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXG4gICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcblxuICAgIHN0YXRlKCdib3R0b21PdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknIH0pKSxcbiAgICBzdGF0ZSgndG9wT3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSkpLFxuXG4gICAgdHJhbnNpdGlvbigndm9pZCA9PiB0b3BJbicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgnMTAwMG1zIGVhc2UtaW4tb3V0JyksXG4gICAgXSksXG5cbiAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGJvdHRvbUluJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSxcbiAgICAgIGFuaW1hdGUoJzEwMDBtcyBlYXNlLWluLW91dCcpLFxuICAgIF0pLFxuXG4gICAgdHJhbnNpdGlvbignKiA9PiAqJywgYW5pbWF0ZSgnMTAwMG1zIGVhc2Utb3V0JykpLFxuICBdKTtcbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSG9zdEJpbmRpbmcsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IGNsb3NlSWNvbiB9IGZyb20gJy4vaWNvbnMnO1xuaW1wb3J0IHsgdHJhbnNsYXRlSW5PdXQgfSBmcm9tICcuL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29va2llTGF3QW5pbWF0aW9uLCBDb29raWVMYXdUYXJnZXQsIENvb2tpZUxhd1Bvc2l0aW9uIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nvb2tpZS1sYXctY29tcG9uZW50JyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiY29va2llLWxhdy13cmFwcGVyXCJcbiAgICBbbmdTdHlsZV09XCJjdXJyZW50U3R5bGVzXCJcbiAgICBbQHRyYW5zaXRpb25dPVwidHJhbnNpdGlvblwiXG4gICAgKEB0cmFuc2l0aW9uLmRvbmUpPVwiYWZ0ZXJEaXNtaXNzQW5pbWF0aW9uKCRldmVudClcIj5cblxuICA8ZGl2IGNsYXNzPVwiY29weVwiPlxuICAgIDxzcGFuICNyZWY+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cblxuICAgIDxzcGFuICpuZ0lmPVwicmVmLmNoaWxkTm9kZXMubGVuZ3RoID09IDBcIj5cbiAgICAgIEJ5IGNvbnRpbnVpbmcgdG8gYnJvd3NlIHRoZSBzaXRlLCB5b3UncmUgYWdyZWVpbmcgdG8gb3VyIHVzZSBvZiBjb29raWVzLlxuICAgICAgPHNwYW4gKm5nSWY9XCJsZWFybk1vcmVcIj5cbiAgICAgICAgTGVhcm4gbW9yZSBpbiBvdXIgPGEgW2hyZWZdPVwibGVhcm5Nb3JlXCIgW3RhcmdldF09XCJ0YXJnZXRcIiBbcmVsXT1cIm5vb3BlbmVyID8gJ25vb3BlbmVyIG5vcmVmZXJyZXInIDogbnVsbFwiPnByaXZhY3kgcG9saWN5PC9hPi5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG5cbiAgICA8YSBocmVmPVwiI1wiIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGlzbWlzc1wiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjbG9zZVN2Z1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRpc21pc3MoJGV2ZW50KVwiPjwvYT5cbjwvZGl2PlxuYCxcbiAgc3R5bGVzOiBbYC5jb29raWUtbGF3LXdyYXBwZXJ7YmFja2dyb3VuZDojMzMzO2NvbG9yOiNiYmI7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDoyMDA7bGluZS1oZWlnaHQ6MjBweDtwb3NpdGlvbjpmaXhlZDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTt6LWluZGV4Ojk5OTk5OTk5OTtmb250LXNtb290aDphbHdheXM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uY29va2llLWxhdy13cmFwcGVyIGF7Y29sb3I6I2JiYjt0cmFuc2l0aW9uOmNvbG9yIC4yc30uY29va2llLWxhdy13cmFwcGVyIGE6aG92ZXJ7Y29sb3I6I2ZmZn0uY29va2llLWxhdy13cmFwcGVyIGE6aG92ZXIgc3Zne2ZpbGw6I2ZmZn0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNze2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDoxMHB4O3RleHQtZGVjb3JhdGlvbjpub25lO2xpbmUtaGVpZ2h0OjIwcHh9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzcyBzdmd7ZGlzcGxheTpibG9jaztmaWxsOiNiYmI7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDt0cmFuc2l0aW9uOmZpbGwgLjJzfS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHl7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTBweCA2MHB4IDEwcHggMTBweH0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IHNwYW57Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDB9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weSBhe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weSBhOmFjdGl2ZSwuY29weSBhOmhvdmVye291dGxpbmU6MH1AbWVkaWEgKG1pbi13aWR0aDo2MDBweCl7LmNvb2tpZS1sYXctd3JhcHBlciAuY29weXtwYWRkaW5nOjIwcHggNjBweCAyMHB4IDIwcHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNze3RvcDoxMHB4O3JpZ2h0OjE1cHh9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzcyBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH19YF0sXG4gIGFuaW1hdGlvbnM6IFt0cmFuc2xhdGVJbk91dF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUxhd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIGNsb3NlU3ZnOiBTYWZlSHRtbDtcbiAgcHVibGljIGN1cnJlbnRTdHlsZXM6IGFueTtcbiAgcHVibGljIHRyYW5zaXRpb246IENvb2tpZUxhd0FuaW1hdGlvbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvb2tpZS1sYXcnKVxuICBwdWJsaWMgY29va2llTGF3Q2xhc3M6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZ2V0IGxlYXJuTW9yZSgpIHsgcmV0dXJuIHRoaXMuX2xlYXJuTW9yZTsgfVxuICBzZXQgbGVhcm5Nb3JlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9sZWFybk1vcmUgPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJykgPyB2YWx1ZSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgYXdzb21lQ2xvc2VJY29uKCkgeyByZXR1cm4gdGhpcy5fYXdzb21lQ2xvc2VJY29uOyB9XG4gIHNldCBhd3NvbWVDbG9zZUljb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2F3c29tZUNsb3NlSWNvbiA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnKSA/IHZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB0YXJnZXQoKSB7IHJldHVybiB0aGlzLl90YXJnZXQ7IH1cbiAgc2V0IHRhcmdldCh2YWx1ZTogQ29va2llTGF3VGFyZ2V0KSB7XG4gICAgdGhpcy5fdGFyZ2V0ID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoYCR7dmFsdWV9YCA9PT0gJ19ibGFuaycgfHwgYCR7dmFsdWV9YCA9PT0gJ19zZWxmJylcbiAgICAgICAgICAgICAgICAgICAgICkgPyB2YWx1ZSA6ICdfYmxhbmsnO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHBvc2l0aW9uKCkgeyByZXR1cm4gdGhpcy5fcG9zaXRpb247IH1cbiAgc2V0IHBvc2l0aW9uKHZhbHVlOiBDb29raWVMYXdQb3NpdGlvbikge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScgJiZcbiAgICAgICAgICAgICAgICAgICAgICAoYCR7dmFsdWV9YCA9PT0gJ3RvcCcgfHwgYCR7dmFsdWV9YCA9PT0gJ2JvdHRvbScpXG4gICAgICAgICAgICAgICAgICAgICApID8gdmFsdWUgOiAnYm90dG9tJztcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNTZWVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBub29wZW5lcjogYm9vbGVhbjtcblxuICBwcml2YXRlIF9sZWFybk1vcmU6IHN0cmluZztcbiAgcHJpdmF0ZSBfYXdzb21lQ2xvc2VJY29uOiBzdHJpbmc7XG4gIHByaXZhdGUgX3RhcmdldDogQ29va2llTGF3VGFyZ2V0O1xuICBwcml2YXRlIF9wb3NpdGlvbjogQ29va2llTGF3UG9zaXRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgKSB7XG4gICAgdGhpcy50cmFuc2l0aW9uID0gJ2JvdHRvbUluJztcbiAgICB0aGlzLl9wb3NpdGlvbiA9ICdib3R0b20nO1xuICAgIHRoaXMuY29va2llTGF3Q2xhc3MgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubm9vcGVuZXIgPSB0aGlzLl90YXJnZXQgPT09ICdfYmxhbmsnO1xuICAgIHRoaXMudHJhbnNpdGlvbiA9IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nID8gJ2JvdHRvbUluJyA6ICd0b3BJbic7XG5cbiAgICBpZiAodGhpcy5fYXdzb21lQ2xvc2VJY29uKSB7XG4gICAgICB0aGlzLmNsb3NlU3ZnID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICAgIGA8aSBjbGFzcz1cImZhYiAke3RoaXMuX2F3c29tZUNsb3NlSWNvbn1cIj48L2k+YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xvc2VTdmcgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjbG9zZUljb24pO1xuICAgIH1cblxuXG4gICAgdGhpcy5jdXJyZW50U3R5bGVzID0ge1xuICAgICAgJ3RvcCc6IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJzAnIDogbnVsbCxcbiAgICAgICdib3R0b20nOiB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICdpbml0aWFsJyA6IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhZnRlckRpc21pc3NBbmltYXRpb24oZXZ0OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQudG9TdGF0ZSA9PT0gJ3RvcE91dCcgfHxcbiAgICAgICAgZXZ0LnRvU3RhdGUgPT09ICdib3R0b21PdXQnKSB7XG4gICAgICB0aGlzLmlzU2Vlbi5lbWl0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzKGV2dD86IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZ0KSB7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICd0b3BPdXQnIDogJ2JvdHRvbU91dCc7XG4gIH1cblxufVxuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmd1bGFyMkNvb2tpZUxhd1NlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXIyLWNvb2tpZS1sYXcuc2VydmljZSc7XG5pbXBvcnQgeyBDb29raWVMYXdDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIyLWNvb2tpZS1sYXcuY29tcG9uZW50JztcbmltcG9ydCB7IENvb2tpZUxhd1RhcmdldCwgQ29va2llTGF3UG9zaXRpb24gfSBmcm9tICcuL2RlZmluaXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29va2llLWxhdycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGNvb2tpZS1sYXctY29tcG9uZW50ICpuZ0lmPVwiIXNlZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXdzb21lQ2xvc2VJY29uXT1cImF3c29tZUNsb3NlSWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWFybk1vcmVdPVwibGVhcm5Nb3JlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJ0YXJnZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNTZWVuKT1cImhhc0JlZW5EaXNtaXNzZWQoKVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvY29va2llLWxhdy1jb21wb25lbnQ+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUxhd0NvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnNlZW4nKVxuICBwdWJsaWMgc2VlbjogYm9vbGVhbjtcblxuICBAVmlld0NoaWxkKENvb2tpZUxhd0NvbXBvbmVudClcbiAgcHVibGljIGNvb2tpZUxhd0NvbXBvbmVudDogQ29va2llTGF3Q29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGxlYXJuTW9yZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YXJnZXQ6IENvb2tpZUxhd1RhcmdldDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcG9zaXRpb246IENvb2tpZUxhd1Bvc2l0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBleHBpcmF0aW9uOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGF3c29tZUNsb3NlSWNvbjogc3RyaW5nO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgaXNTZWVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBnZXQgY29va2llTGF3U2VlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb29raWVMYXdTZXJ2aWNlLnNlZW4odGhpcy5uYW1lKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29va2llTGF3U2VydmljZTogQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlKSB7XG4gICAgdGhpcy5uYW1lID0gJ2Nvb2tpZUxhd1NlZW4nOyAvLyBzZXQgYSBkZWZhdWx0IGNvb2tpZSBuYW1lIGlmIG5vdCBwcm92aWRlZFxuICAgIHRoaXMuc2VlbiA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWVuID0gdGhpcy5jb29raWVMYXdTZXJ2aWNlLnNlZW4odGhpcy5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBoYXNCZWVuRGlzbWlzc2VkKCk6IHZvaWQge1xuICAgIHRoaXMuY29va2llTGF3U2VydmljZS5zdG9yZUNvb2tpZSh0aGlzLm5hbWUsIHRoaXMuZXhwaXJhdGlvbik7XG4gICAgdGhpcy5zZWVuID0gdHJ1ZTtcbiAgICB0aGlzLmlzU2Vlbi5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGRpc21pc3MoKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVMYXdDb21wb25lbnQuZGlzbWlzcygpO1xuICB9XG5cbn1cbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBDb29raWVMYXdDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIyLWNvb2tpZS1sYXcuY29tcG9uZW50JztcbmltcG9ydCB7IENvb2tpZUxhd0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy1jb250YWluZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29va2llTGF3Q29tcG9uZW50LFxuICAgIENvb2tpZUxhd0NvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENvb2tpZUxhd0NvbnRhaW5lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3TW9kdWxlIHtcbiAgY29uc3RydWN0b3IgKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogQ29va2llTGF3TW9kdWxlKSB7XG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ29va2llTGF3TW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5Jyk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiSW5qZWN0YWJsZSIsInRyaWdnZXIiLCJzdGF0ZSIsInN0eWxlIiwidHJhbnNpdGlvbiIsImFuaW1hdGUiLCJFdmVudEVtaXR0ZXIiLCJDb21wb25lbnQiLCJWaWV3RW5jYXBzdWxhdGlvbiIsIkRvbVNhbml0aXplciIsIkhvc3RCaW5kaW5nIiwiSW5wdXQiLCJPdXRwdXQiLCJWaWV3Q2hpbGQiLCJOZ01vZHVsZSIsIkNvbW1vbk1vZHVsZSIsIk9wdGlvbmFsIiwiU2tpcFNlbGYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBY1MsdUNBQUk7Ozs7c0JBQUMsVUFBb0M7Z0JBQXBDLDJCQUFBO29CQUFBLDRCQUFvQzs7Z0JBQzlDLHFCQUFNLE9BQU8sR0FBa0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRTFELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7Ozs7UUFHMUMsOENBQVc7Ozs7O3NCQUFDLFVBQWtCLEVBQUUsVUFBbUI7Z0JBQ3hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7UUFHeEMsZ0RBQWE7Ozs7O3NCQUFDLElBQVksRUFBRSxPQUFzQjtnQkFDeEQscUJBQU0sVUFBVSxHQUFNLElBQUksTUFBRyxDQUFDO2dCQUU5QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsSUFBSTtv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

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/animations"),require("@angular/platform-browser"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular2-cookie-law",["exports","@angular/core","@angular/animations","@angular/platform-browser","@angular/common"],t):t(e["angular2-cookie-law"]={},e.ng.core,e.ng.animations,e.ng.platformBrowser,e.ng.common)}(this,function(e,t,o,n,i){"use strict";var r=function(){function e(){}return e.prototype.seen=function(e){return void 0===e&&(e="cookieLawSeen"),this.cookieExisits(e)},e.prototype.storeCookie=function(e,t){return this.setCookie(e,t)},e.prototype.cookieExisits=function(e){for(var t=document.cookie.split(";"),o=t.length,n=e+"=",i=0;i<o;i+=1)if(-1!==t[i].replace(/^\s\+/g,"").indexOf(n))return!0;return!1},e.prototype.setCookie=function(e,t){var o,n=new Date;n.setTime(n.getTime()+864e5*t),o="; expires="+n.toUTCString(),document.cookie=encodeURIComponent(e)+"=true; path=/"+o},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),s=o.trigger("transition",[o.state("*",o.style({transform:"translateY(0)"})),o.state("void",o.style({transform:"translateY(0)"})),o.state("bottomOut",o.style({transform:"translateY(100%)"})),o.state("topOut",o.style({transform:"translateY(-100%)"})),o.transition("void => topIn",[o.style({transform:"translateY(-100%)"}),o.animate("1000ms ease-in-out")]),o.transition("void => bottomIn",[o.style({transform:"translateY(100%)"}),o.animate("1000ms ease-in-out")]),o.transition("* => *",o.animate("1000ms ease-out"))]),a=function(){function e(e){this.domSanitizer=e,this.isSeen=new t.EventEmitter,this.transition="bottomIn",this._position="bottom",this.cookieLawClass=!0}return Object.defineProperty(e.prototype,"learnMore",{get:function(){return this._learnMore},set:function(e){this._learnMore=null!==e&&""+e!="false"?e:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"awsomeCloseIcon",{get:function(){return this._awsomeCloseIcon},set:function(e){this._awsomeCloseIcon=null!==e&&""+e!="false"?e:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._target},set:function(e){this._target=null===e||""+e=="false"||""+e!="_blank"&&""+e!="_self"?"_blank":e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(e){this._position=null===e||""+e=="false"||""+e!="top"&&""+e!="bottom"?"bottom":e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.noopener="_blank"===this._target,this.transition="bottom"===this.position?"bottomIn":"topIn",this._awsomeCloseIcon?this.closeSvg=this.domSanitizer.bypassSecurityTrustHtml('<i class="fab '+this._awsomeCloseIcon+'"></i>'):this.closeSvg=this.domSanitizer.bypassSecurityTrustHtml('\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M377.047 184.198q0 8.26-6.037 14.297L313.505 256l57.505 57.505q6.037 6.037 6.037 14.297 0 8.578-6.037\n 14.615l-28.593 28.593q-6.037 6.037-14.615 6.037-8.26 0-14.297-6.037L256 313.505l-57.505 57.505q-6.037\n 6.037-14.297 6.037-8.578 0-14.615-6.037l-28.593-28.593q-6.037-6.037-6.037-14.615 0-8.26 6.037-14.297L198.495\n 256l-57.505-57.505q-6.037-6.037-6.037-14.297 0-8.578 6.037-14.615l28.593-28.593q6.037-6.037 14.615-6.037 8.26 0\n 14.297 6.037L256 198.495l57.505-57.505q6.037-6.037 14.297-6.037 8.578 0 14.615 6.037l28.593 28.593q6.037 6.037\n 6.037 14.615zM500 256q0-66.401-32.724-122.477-32.724-56.075-88.799-88.799Q322.401 12 256 12q-66.401 0-122.477\n 32.724-56.075 32.724-88.799 88.799Q12 189.599 12 256q0 66.401 32.724 122.477 32.724 56.075 88.799 88.799Q189.599\n 500 256 500q66.401 0 122.477-32.724 56.075-32.724 88.799-88.799Q500 322.401 500 256z"></path>\n </svg>'),this.currentStyles={top:"top"===this.position?"0":null,bottom:"top"===this.position?"initial":null}},e.prototype.afterDismissAnimation=function(e){"topOut"!==e.toState&&"bottomOut"!==e.toState||this.isSeen.emit(!0)},e.prototype.dismiss=function(e){e&&e.preventDefault(),this.transition="top"===this.position?"topOut":"bottomOut"},e.decorators=[{type:t.Component,args:[{selector:"cookie-law-component",template:'<div class="cookie-law-wrapper"\n [ngStyle]="currentStyles"\n [@transition]="transition"\n (@transition.done)="afterDismissAnimation($event)">\n\n <div class="copy">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf="ref.childNodes.length == 0">\n By continuing to browse the site, you\'re agreeing to our use of cookies.\n <span *ngIf="learnMore">\n Learn more in our <a [href]="learnMore" [target]="target" [rel]="noopener ? \'noopener noreferrer\' : null">privacy policy</a>.\n </span>\n </span>\n\n <a href="#" role="button"\n class="dismiss"\n [innerHTML]="closeSvg"\n (click)="dismiss($event)"></a>\n</div>\n',styles:[".cookie-law-wrapper{background:#333;color:#bbb;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:200;line-height:20px;position:fixed;bottom:0;left:0;width:100%;z-index:999999999;font-smooth:always;-webkit-font-smoothing:antialiased}.cookie-law-wrapper a{color:#bbb;transition:color .2s}.cookie-law-wrapper a:hover{color:#fff}.cookie-law-wrapper a:hover svg{fill:#fff}.cookie-law-wrapper .dismiss{display:block;box-sizing:border-box;padding:10px;position:absolute;top:0;right:10px;text-decoration:none;line-height:20px}.cookie-law-wrapper .dismiss svg{display:block;fill:#bbb;width:20px;height:20px;transition:fill .2s}.cookie-law-wrapper .copy{box-sizing:border-box;padding:10px 60px 10px 10px}.cookie-law-wrapper .copy span{color:#fff;font-weight:400}.cookie-law-wrapper .copy a{text-decoration:underline}.cookie-law-wrapper .copy a:active,.copy a:hover{outline:0}@media (min-width:600px){.cookie-law-wrapper .copy{padding:20px 60px 20px 20px;font-size:18px;line-height:24px}.cookie-law-wrapper .dismiss{top:10px;right:15px}.cookie-law-wrapper .dismiss svg{width:24px;height:24px}}"],animations:[s],encapsulation:t.ViewEncapsulation.None}]}],e.ctorParameters=function(){return[{type:n.DomSanitizer}]},e.propDecorators={cookieLawClass:[{type:t.HostBinding,args:["class.cookie-law"]}],learnMore:[{type:t.Input}],awsomeCloseIcon:[{type:t.Input}],target:[{type:t.Input}],position:[{type:t.Input}],isSeen:[{type:t.Output}]},e}(),p=function(){function e(e){this.cookieLawService=e,this.isSeen=new t.EventEmitter,this.name="cookieLawSeen",this.seen=!0}return Object.defineProperty(e.prototype,"cookieLawSeen",{get:function(){return this.cookieLawService.seen(this.name)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.seen=this.cookieLawService.seen(this.name)},e.prototype.hasBeenDismissed=function(){this.cookieLawService.storeCookie(this.name,this.expiration),this.seen=!0,this.isSeen.emit(!0)},e.prototype.dismiss=function(){this.cookieLawComponent.dismiss()},e.decorators=[{type:t.Component,args:[{selector:"cookie-law",template:'\n <cookie-law-component *ngIf="!seen"\n [awsomeCloseIcon]="awsomeCloseIcon"\n [learnMore]="learnMore"\n [target]="target"\n [position]="position"\n (isSeen)="hasBeenDismissed()">\n <ng-content></ng-content>\n </cookie-law-component>\n '}]}],e.ctorParameters=function(){return[{type:r}]},e.propDecorators={seen:[{type:t.HostBinding,args:["attr.seen"]}],cookieLawComponent:[{type:t.ViewChild,args:[a]}],name:[{type:t.Input}],learnMore:[{type:t.Input}],target:[{type:t.Input}],position:[{type:t.Input}],expiration:[{type:t.Input}],awsomeCloseIcon:[{type:t.Input}],isSeen:[{type:t.Output}]},e}(),l=function(){function e(e){if(e)throw new Error("CookieLawModule is already loaded. Import it in the AppModule only")}return e.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule],declarations:[a,p],exports:[p]}]}],e.ctorParameters=function(){return[{type:e,decorators:[{type:t.Optional},{type:t.SkipSelf}]}]},e}();e.Angular2CookieLawService=r,e.CookieLawContainerComponent=p,e.CookieLawComponent=a,e.CookieLawModule=l,e.ɵa=s,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/animations"),require("@angular/platform-browser"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular2-cookie-law",["exports","@angular/core","@angular/animations","@angular/platform-browser","@angular/common"],t):t(e["angular2-cookie-law"]={},e.ng.core,e.ng.animations,e.ng.platformBrowser,e.ng.common)}(this,function(e,t,o,n,i){"use strict";var r=function(){function e(){}return e.prototype.seen=function(e){void 0===e&&(e="cookieLawSeen");var t=document.cookie.split(";");return this.cookieExisits(e,t)},e.prototype.storeCookie=function(e,t){return this.setCookie(e,t)},e.prototype.cookieExisits=function(e,t){var o=e+"=";return t.reduce(function(e,t){return e||-1<t.trim().search(o)},!1)},e.prototype.setCookie=function(e,t){var o=new Date,n=new Date(o.getTime()+864e5*t),i=encodeURIComponent(e)+"=true;path=/;expires="+n.toUTCString()+";";document.cookie=i},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ngInjectableDef=t.defineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}(),s=o.trigger("transition",[o.state("*",o.style({transform:"translateY(0)"})),o.state("void",o.style({transform:"translateY(0)"})),o.state("bottomOut",o.style({transform:"translateY(100%)"})),o.state("topOut",o.style({transform:"translateY(-100%)"})),o.transition("void => topIn",[o.style({transform:"translateY(-100%)"}),o.animate("1000ms ease-in-out")]),o.transition("void => bottomIn",[o.style({transform:"translateY(100%)"}),o.animate("1000ms ease-in-out")]),o.transition("* => *",o.animate("1000ms ease-out"))]),a=function(){function e(e){this.domSanitizer=e,this.isSeen=new t.EventEmitter,this.transition="bottomIn",this._position="bottom",this.cookieLawClass=!0}return Object.defineProperty(e.prototype,"learnMore",{get:function(){return this._learnMore},set:function(e){this._learnMore=null!==e&&""+e!="false"?e:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"awsomeCloseIcon",{get:function(){return this._awsomeCloseIcon},set:function(e){this._awsomeCloseIcon=null!==e&&""+e!="false"?e:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"target",{get:function(){return this._target},set:function(e){this._target=null===e||""+e=="false"||""+e!="_blank"&&""+e!="_self"?"_blank":e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(e){this._position=null===e||""+e=="false"||""+e!="top"&&""+e!="bottom"?"bottom":e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.noopener="_blank"===this._target,this.transition="bottom"===this.position?"bottomIn":"topIn",this._awsomeCloseIcon?this.closeSvg=this.domSanitizer.bypassSecurityTrustHtml('<i class="fab '+this._awsomeCloseIcon+'"></i>'):this.closeSvg=this.domSanitizer.bypassSecurityTrustHtml('\n <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M377.047 184.198q0 8.26-6.037 14.297L313.505 256l57.505 57.505q6.037 6.037 6.037 14.297 0 8.578-6.037\n 14.615l-28.593 28.593q-6.037 6.037-14.615 6.037-8.26 0-14.297-6.037L256 313.505l-57.505 57.505q-6.037\n 6.037-14.297 6.037-8.578 0-14.615-6.037l-28.593-28.593q-6.037-6.037-6.037-14.615 0-8.26 6.037-14.297L198.495\n 256l-57.505-57.505q-6.037-6.037-6.037-14.297 0-8.578 6.037-14.615l28.593-28.593q6.037-6.037 14.615-6.037 8.26 0\n 14.297 6.037L256 198.495l57.505-57.505q6.037-6.037 14.297-6.037 8.578 0 14.615 6.037l28.593 28.593q6.037 6.037\n 6.037 14.615zM500 256q0-66.401-32.724-122.477-32.724-56.075-88.799-88.799Q322.401 12 256 12q-66.401 0-122.477\n 32.724-56.075 32.724-88.799 88.799Q12 189.599 12 256q0 66.401 32.724 122.477 32.724 56.075 88.799 88.799Q189.599\n 500 256 500q66.401 0 122.477-32.724 56.075-32.724 88.799-88.799Q500 322.401 500 256z"></path>\n </svg>'),this.currentStyles={top:"top"===this.position?"0":null,bottom:"top"===this.position?"initial":null}},e.prototype.afterDismissAnimation=function(e){"topOut"!==e.toState&&"bottomOut"!==e.toState||this.isSeen.emit(!0)},e.prototype.dismiss=function(e){e&&e.preventDefault(),this.transition="top"===this.position?"topOut":"bottomOut"},e.decorators=[{type:t.Component,args:[{selector:"cookie-law-component",template:'<div class="cookie-law-wrapper"\n [ngStyle]="currentStyles"\n [@transition]="transition"\n (@transition.done)="afterDismissAnimation($event)">\n\n <div class="copy">\n <span #ref><ng-content></ng-content></span>\n\n <span *ngIf="ref.childNodes.length == 0">\n By continuing to browse the site, you\'re agreeing to our use of cookies.\n <span *ngIf="learnMore">\n Learn more in our <a [href]="learnMore" [target]="target" [rel]="noopener ? \'noopener noreferrer\' : null">privacy policy</a>.\n </span>\n </span>\n\n <a href="#" role="button"\n class="dismiss"\n [innerHTML]="closeSvg"\n (click)="dismiss($event)"></a>\n</div>\n',styles:[".cookie-law-wrapper{background:#333;color:#bbb;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;font-weight:200;line-height:20px;position:fixed;bottom:0;left:0;width:100%;z-index:999999999;font-smooth:always;-webkit-font-smoothing:antialiased}.cookie-law-wrapper a{color:#bbb;transition:color .2s}.cookie-law-wrapper a:hover{color:#fff}.cookie-law-wrapper a:hover svg{fill:#fff}.cookie-law-wrapper .dismiss{display:block;box-sizing:border-box;padding:10px;position:absolute;top:0;right:10px;text-decoration:none;line-height:20px}.cookie-law-wrapper .dismiss svg{display:block;fill:#bbb;width:20px;height:20px;transition:fill .2s}.cookie-law-wrapper .copy{box-sizing:border-box;padding:10px 60px 10px 10px}.cookie-law-wrapper .copy span{color:#fff;font-weight:400}.cookie-law-wrapper .copy a{text-decoration:underline}.cookie-law-wrapper .copy a:active,.copy a:hover{outline:0}@media (min-width:600px){.cookie-law-wrapper .copy{padding:20px 60px 20px 20px;font-size:18px;line-height:24px}.cookie-law-wrapper .dismiss{top:10px;right:15px}.cookie-law-wrapper .dismiss svg{width:24px;height:24px}}"],animations:[s],encapsulation:t.ViewEncapsulation.None}]}],e.ctorParameters=function(){return[{type:n.DomSanitizer}]},e.propDecorators={cookieLawClass:[{type:t.HostBinding,args:["class.cookie-law"]}],learnMore:[{type:t.Input}],awsomeCloseIcon:[{type:t.Input}],target:[{type:t.Input}],position:[{type:t.Input}],isSeen:[{type:t.Output}]},e}(),p=function(){function e(e){this.cookieLawService=e,this.isSeen=new t.EventEmitter,this.name="cookieLawSeen",this.seen=!0}return Object.defineProperty(e.prototype,"cookieLawSeen",{get:function(){return this.cookieLawService.seen(this.name)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.seen=this.cookieLawService.seen(this.name)},e.prototype.hasBeenDismissed=function(){this.cookieLawService.storeCookie(this.name,this.expiration),this.seen=!0,this.isSeen.emit(!0)},e.prototype.dismiss=function(){this.cookieLawComponent.dismiss()},e.decorators=[{type:t.Component,args:[{selector:"cookie-law",template:'\n <cookie-law-component *ngIf="!seen"\n [awsomeCloseIcon]="awsomeCloseIcon"\n [learnMore]="learnMore"\n [target]="target"\n [position]="position"\n (isSeen)="hasBeenDismissed()">\n <ng-content></ng-content>\n </cookie-law-component>\n '}]}],e.ctorParameters=function(){return[{type:r}]},e.propDecorators={seen:[{type:t.HostBinding,args:["attr.seen"]}],cookieLawComponent:[{type:t.ViewChild,args:[a]}],name:[{type:t.Input}],learnMore:[{type:t.Input}],target:[{type:t.Input}],position:[{type:t.Input}],expiration:[{type:t.Input}],awsomeCloseIcon:[{type:t.Input}],isSeen:[{type:t.Output}]},e}(),l=function(){function e(e){if(e)throw new Error("CookieLawModule is already loaded. Import it in the AppModule only")}return e.decorators=[{type:t.NgModule,args:[{imports:[i.CommonModule],declarations:[a,p],exports:[p]}]}],e.ctorParameters=function(){return[{type:e,decorators:[{type:t.Optional},{type:t.SkipSelf}]}]},e}();e.Angular2CookieLawService=r,e.CookieLawContainerComponent=p,e.CookieLawComponent=a,e.CookieLawModule=l,e.ɵa=s,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=angular2-cookie-law.umd.min.js.map

@@ -20,3 +20,4 @@ /**

seen(cookieName = 'cookieLawSeen') {
return this.cookieExisits(cookieName);
const /** @type {?} */ cookies = document.cookie.split(';');
return this.cookieExisits(cookieName, cookies);
}

@@ -33,16 +34,8 @@ /**

* @param {?} name
* @param {?} cookies
* @return {?}
*/
cookieExisits(name) {
const /** @type {?} */ ca = document.cookie.split(';');
const /** @type {?} */ caLen = ca.length;
const /** @type {?} */ cookieName = name + '=';
let /** @type {?} */ c;
for (let /** @type {?} */ i = 0; i < caLen; i += 1) {
c = ca[i].replace(/^\s\+/g, '');
if (c.indexOf(cookieName) !== -1) {
return true;
}
}
return false;
cookieExisits(name, cookies) {
const /** @type {?} */ cookieName = `${name}=`;
return cookies.reduce((prev, curr) => prev || curr.trim().search(cookieName) > -1, false);
}

@@ -55,7 +48,7 @@ /**

setCookie(name, expiration) {
const /** @type {?} */ date = new Date();
let /** @type {?} */ expires;
date.setTime(date.getTime() + expiration * 86400000);
expires = '; expires=' + date.toUTCString();
document.cookie = encodeURIComponent(name) + '=true; path=/' + expires;
const /** @type {?} */ now = new Date();
const /** @type {?} */ exp = new Date(now.getTime() + expiration * 86400000);
const /** @type {?} */ cookieString = encodeURIComponent(name) +
`=true;path=/;expires=${exp.toUTCString()};`;
document.cookie = cookieString;
}

@@ -79,2 +72,2 @@ }

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItY29va2llLWxhdy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNOzs7OztJQUVHLElBQUksQ0FBQyxhQUFxQixlQUFlO1FBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7O0lBR2pDLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzs7Ozs7O0lBR3hDLGFBQWEsQ0FBQyxJQUFZO1FBQ2hDLHVCQUFNLEVBQUUsR0FBa0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsdUJBQU0sS0FBSyxHQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsdUJBQU0sVUFBVSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7UUFDOUIscUJBQUksQ0FBUyxDQUFDO1FBRWQsR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQzs7Ozs7OztJQUdQLFNBQVMsQ0FBQyxJQUFZLEVBQUUsVUFBbUI7UUFDakQsdUJBQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIscUJBQUksT0FBTyxDQUFDO1FBRVosSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTVDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxHQUFHLE9BQU8sQ0FBQzs7OztZQXBDMUUsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIHtcblxuICBwdWJsaWMgc2Vlbihjb29raWVOYW1lOiBzdHJpbmcgPSAnY29va2llTGF3U2VlbicpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb29raWVFeGlzaXRzKGNvb2tpZU5hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0b3JlQ29va2llKGNvb2tpZU5hbWU6IHN0cmluZywgZXhwaXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnNldENvb2tpZShjb29raWVOYW1lLCBleHBpcmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgY29va2llRXhpc2l0cyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYTogQXJyYXk8c3RyaW5nPiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuICAgIGNvbnN0IGNhTGVuOiBudW1iZXIgPSBjYS5sZW5ndGg7XG4gICAgY29uc3QgY29va2llTmFtZSA9IG5hbWUgKyAnPSc7XG4gICAgbGV0IGM6IHN0cmluZztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FMZW47IGkgKz0gMSkge1xuICAgICAgYyA9IGNhW2ldLnJlcGxhY2UoL15cXHNcXCsvZywgJycpO1xuICAgICAgaWYgKGMuaW5kZXhPZihjb29raWVOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgbGV0IGV4cGlyZXM7XG5cbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBleHBpcmF0aW9uICogODY0MDAwMDApO1xuICAgIGV4cGlyZXMgPSAnOyBleHBpcmVzPScgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XG5cbiAgICBkb2N1bWVudC5jb29raWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPXRydWU7IHBhdGg9LycgKyBleHBpcmVzO1xuICB9XG5cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItY29va2llLWxhdy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNOzs7OztJQUNHLElBQUksQ0FBQyxhQUFxQixlQUFlO1FBQzlDLHVCQUFNLE9BQU8sR0FBa0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzs7Ozs7O0lBRzFDLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzs7Ozs7OztJQUd4QyxhQUFhLENBQUMsSUFBWSxFQUFFLE9BQXNCO1FBQ3hELHVCQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDO1FBRTlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQ25DLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7O0lBR2hELFNBQVMsQ0FBQyxJQUFZLEVBQUUsVUFBbUI7UUFDakQsdUJBQU0sR0FBRyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsdUJBQU0sR0FBRyxHQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFFbEUsdUJBQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQyx3QkFBd0IsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUM7UUFFL0MsUUFBUSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7Ozs7WUE1QmxDLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB7XG4gIHB1YmxpYyBzZWVuKGNvb2tpZU5hbWU6IHN0cmluZyA9ICdjb29raWVMYXdTZWVuJyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZXM6IEFycmF5PHN0cmluZz4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcblxuICAgIHJldHVybiB0aGlzLmNvb2tpZUV4aXNpdHMoY29va2llTmFtZSwgY29va2llcyk7XG4gIH1cblxuICBwdWJsaWMgc3RvcmVDb29raWUoY29va2llTmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0Q29va2llKGNvb2tpZU5hbWUsIGV4cGlyYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb29raWVFeGlzaXRzKG5hbWU6IHN0cmluZywgY29va2llczogQXJyYXk8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZU5hbWUgPSBgJHtuYW1lfT1gO1xuXG4gICAgcmV0dXJuIGNvb2tpZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PlxuICAgICAgcHJldiB8fCBjdXJyLnRyaW0oKS5zZWFyY2goY29va2llTmFtZSkgPiAtMSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBleHA6IERhdGUgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgZXhwaXJhdGlvbiAqIDg2NDAwMDAwKTtcblxuICAgIGNvbnN0IGNvb2tpZVN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArXG4gICAgICBgPXRydWU7cGF0aD0vO2V4cGlyZXM9JHtleHAudG9VVENTdHJpbmcoKX07YDtcblxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcbiAgfVxufVxuIl19

@@ -27,3 +27,4 @@ /**

if (cookieName === void 0) { cookieName = 'cookieLawSeen'; }
return this.cookieExisits(cookieName);
var /** @type {?} */ cookies = document.cookie.split(';');
return this.cookieExisits(cookieName, cookies);
};

@@ -45,2 +46,3 @@ /**

* @param {?} name
* @param {?} cookies
* @return {?}

@@ -50,16 +52,10 @@ */

* @param {?} name
* @param {?} cookies
* @return {?}
*/
function (name) {
var /** @type {?} */ ca = document.cookie.split(';');
var /** @type {?} */ caLen = ca.length;
var /** @type {?} */ cookieName = name + '=';
var /** @type {?} */ c;
for (var /** @type {?} */ i = 0; i < caLen; i += 1) {
c = ca[i].replace(/^\s\+/g, '');
if (c.indexOf(cookieName) !== -1) {
return true;
}
}
return false;
function (name, cookies) {
var /** @type {?} */ cookieName = name + "=";
return cookies.reduce(function (prev, curr) {
return prev || curr.trim().search(cookieName) > -1;
}, false);
};

@@ -77,7 +73,7 @@ /**

function (name, expiration) {
var /** @type {?} */ date = new Date();
var /** @type {?} */ expires;
date.setTime(date.getTime() + expiration * 86400000);
expires = '; expires=' + date.toUTCString();
document.cookie = encodeURIComponent(name) + '=true; path=/' + expires;
var /** @type {?} */ now = new Date();
var /** @type {?} */ exp = new Date(now.getTime() + expiration * 86400000);
var /** @type {?} */ cookieString = encodeURIComponent(name) +
("=true;path=/;expires=" + exp.toUTCString() + ";");
document.cookie = cookieString;
};

@@ -103,2 +99,2 @@ Angular2CookieLawService.decorators = [

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItY29va2llLWxhdy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUFPbEMsdUNBQUk7Ozs7Y0FBQyxVQUFvQztRQUFwQywyQkFBQSxFQUFBLDRCQUFvQztRQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzs7Ozs7OztJQUdqQyw4Q0FBVzs7Ozs7Y0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzs7Ozs7O0lBR3hDLGdEQUFhOzs7O2NBQUMsSUFBWTtRQUNoQyxxQkFBTSxFQUFFLEdBQWtCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELHFCQUFNLEtBQUssR0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hDLHFCQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzlCLHFCQUFJLENBQVMsQ0FBQztRQUVkLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbEMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUVELE1BQU0sQ0FBQyxLQUFLLENBQUM7Ozs7Ozs7SUFHUCw0Q0FBUzs7Ozs7Y0FBQyxJQUFZLEVBQUUsVUFBbUI7UUFDakQscUJBQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIscUJBQUksT0FBTyxDQUFDO1FBRVosSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTVDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxHQUFHLE9BQU8sQ0FBQzs7O2dCQXBDMUUsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O21DQVpEOztTQWFhLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB7XG5cbiAgcHVibGljIHNlZW4oY29va2llTmFtZTogc3RyaW5nID0gJ2Nvb2tpZUxhd1NlZW4nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llRXhpc2l0cyhjb29raWVOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9yZUNvb2tpZShjb29raWVOYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb29raWUoY29va2llTmFtZSwgZXhwaXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGNvb2tpZUV4aXNpdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2E6IEFycmF5PHN0cmluZz4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcbiAgICBjb25zdCBjYUxlbjogbnVtYmVyID0gY2EubGVuZ3RoO1xuICAgIGNvbnN0IGNvb2tpZU5hbWUgPSBuYW1lICsgJz0nO1xuICAgIGxldCBjOiBzdHJpbmc7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNhTGVuOyBpICs9IDEpIHtcbiAgICAgIGMgPSBjYVtpXS5yZXBsYWNlKC9eXFxzXFwrL2csICcnKTtcbiAgICAgIGlmIChjLmluZGV4T2YoY29va2llTmFtZSkgIT09IC0xKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29va2llKG5hbWU6IHN0cmluZywgZXhwaXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGxldCBleHBpcmVzO1xuXG4gICAgZGF0ZS5zZXRUaW1lKGRhdGUuZ2V0VGltZSgpICsgZXhwaXJhdGlvbiAqIDg2NDAwMDAwKTtcbiAgICBleHBpcmVzID0gJzsgZXhwaXJlcz0nICsgZGF0ZS50b1VUQ1N0cmluZygpO1xuXG4gICAgZG9jdW1lbnQuY29va2llID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICsgJz10cnVlOyBwYXRoPS8nICsgZXhwaXJlcztcbiAgfVxuXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjItY29va2llLWxhdy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUFNbEMsdUNBQUk7Ozs7Y0FBQyxVQUFvQztRQUFwQywyQkFBQSxFQUFBLDRCQUFvQztRQUM5QyxxQkFBTSxPQUFPLEdBQWtCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzs7Ozs7OztJQUcxQyw4Q0FBVzs7Ozs7Y0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQzs7Ozs7OztJQUd4QyxnREFBYTs7Ozs7Y0FBQyxJQUFZLEVBQUUsT0FBc0I7UUFDeEQscUJBQU0sVUFBVSxHQUFNLElBQUksTUFBRyxDQUFDO1FBRTlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxFQUFFLElBQUk7WUFDL0IsT0FBQSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFBM0MsQ0FBMkMsRUFBRSxLQUFLLENBQUMsQ0FBQzs7Ozs7OztJQUdoRCw0Q0FBUzs7Ozs7Y0FBQyxJQUFZLEVBQUUsVUFBbUI7UUFDakQscUJBQU0sR0FBRyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IscUJBQU0sR0FBRyxHQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFFbEUscUJBQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQzthQUMzQywwQkFBd0IsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFHLENBQUEsQ0FBQztRQUUvQyxRQUFRLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQzs7O2dCQTVCbEMsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O21DQVpEOztTQWFhLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB7XG4gIHB1YmxpYyBzZWVuKGNvb2tpZU5hbWU6IHN0cmluZyA9ICdjb29raWVMYXdTZWVuJyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZXM6IEFycmF5PHN0cmluZz4gPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTtcblxuICAgIHJldHVybiB0aGlzLmNvb2tpZUV4aXNpdHMoY29va2llTmFtZSwgY29va2llcyk7XG4gIH1cblxuICBwdWJsaWMgc3RvcmVDb29raWUoY29va2llTmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0Q29va2llKGNvb2tpZU5hbWUsIGV4cGlyYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb29raWVFeGlzaXRzKG5hbWU6IHN0cmluZywgY29va2llczogQXJyYXk8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvb2tpZU5hbWUgPSBgJHtuYW1lfT1gO1xuXG4gICAgcmV0dXJuIGNvb2tpZXMucmVkdWNlKChwcmV2LCBjdXJyKSA9PlxuICAgICAgcHJldiB8fCBjdXJyLnRyaW0oKS5zZWFyY2goY29va2llTmFtZSkgPiAtMSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgbm93OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBleHA6IERhdGUgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgZXhwaXJhdGlvbiAqIDg2NDAwMDAwKTtcblxuICAgIGNvbnN0IGNvb2tpZVN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSArXG4gICAgICBgPXRydWU7cGF0aD0vO2V4cGlyZXM9JHtleHAudG9VVENTdHJpbmcoKX07YDtcblxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cmluZztcbiAgfVxufVxuIl19

@@ -16,3 +16,4 @@ import { Injectable, Component, ViewChild, HostBinding, Input, Output, EventEmitter, ViewEncapsulation, NgModule, Optional, SkipSelf, defineInjectable } from '@angular/core';

seen(cookieName = 'cookieLawSeen') {
return this.cookieExisits(cookieName);
const /** @type {?} */ cookies = document.cookie.split(';');
return this.cookieExisits(cookieName, cookies);
}

@@ -29,16 +30,8 @@ /**

* @param {?} name
* @param {?} cookies
* @return {?}
*/
cookieExisits(name) {
const /** @type {?} */ ca = document.cookie.split(';');
const /** @type {?} */ caLen = ca.length;
const /** @type {?} */ cookieName = name + '=';
let /** @type {?} */ c;
for (let /** @type {?} */ i = 0; i < caLen; i += 1) {
c = ca[i].replace(/^\s\+/g, '');
if (c.indexOf(cookieName) !== -1) {
return true;
}
}
return false;
cookieExisits(name, cookies) {
const /** @type {?} */ cookieName = `${name}=`;
return cookies.reduce((prev, curr) => prev || curr.trim().search(cookieName) > -1, false);
}

@@ -51,7 +44,7 @@ /**

setCookie(name, expiration) {
const /** @type {?} */ date = new Date();
let /** @type {?} */ expires;
date.setTime(date.getTime() + expiration * 86400000);
expires = '; expires=' + date.toUTCString();
document.cookie = encodeURIComponent(name) + '=true; path=/' + expires;
const /** @type {?} */ now = new Date();
const /** @type {?} */ exp = new Date(now.getTime() + expiration * 86400000);
const /** @type {?} */ cookieString = encodeURIComponent(name) +
`=true;path=/;expires=${exp.toUTCString()};`;
document.cookie = cookieString;
}

@@ -367,2 +360,2 @@ }

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9pY29ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5pbWF0aW9ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIHtcblxuICBwdWJsaWMgc2Vlbihjb29raWVOYW1lOiBzdHJpbmcgPSAnY29va2llTGF3U2VlbicpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb29raWVFeGlzaXRzKGNvb2tpZU5hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0b3JlQ29va2llKGNvb2tpZU5hbWU6IHN0cmluZywgZXhwaXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnNldENvb2tpZShjb29raWVOYW1lLCBleHBpcmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgY29va2llRXhpc2l0cyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYTogQXJyYXk8c3RyaW5nPiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuICAgIGNvbnN0IGNhTGVuOiBudW1iZXIgPSBjYS5sZW5ndGg7XG4gICAgY29uc3QgY29va2llTmFtZSA9IG5hbWUgKyAnPSc7XG4gICAgbGV0IGM6IHN0cmluZztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FMZW47IGkgKz0gMSkge1xuICAgICAgYyA9IGNhW2ldLnJlcGxhY2UoL15cXHNcXCsvZywgJycpO1xuICAgICAgaWYgKGMuaW5kZXhPZihjb29raWVOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgbGV0IGV4cGlyZXM7XG5cbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBleHBpcmF0aW9uICogODY0MDAwMDApO1xuICAgIGV4cGlyZXMgPSAnOyBleHBpcmVzPScgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XG5cbiAgICBkb2N1bWVudC5jb29raWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPXRydWU7IHBhdGg9LycgKyBleHBpcmVzO1xuICB9XG5cbn1cbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5leHBvcnQgY29uc3QgY2xvc2VJY29uID0gYFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cbiAgICA8cGF0aCBkPVwiTTM3Ny4wNDcgMTg0LjE5OHEwIDguMjYtNi4wMzcgMTQuMjk3TDMxMy41MDUgMjU2bDU3LjUwNSA1Ny41MDVxNi4wMzcgNi4wMzcgNi4wMzcgMTQuMjk3IDAgOC41NzgtNi4wMzdcbiAgICAgIDE0LjYxNWwtMjguNTkzIDI4LjU5M3EtNi4wMzcgNi4wMzctMTQuNjE1IDYuMDM3LTguMjYgMC0xNC4yOTctNi4wMzdMMjU2IDMxMy41MDVsLTU3LjUwNSA1Ny41MDVxLTYuMDM3XG4gICAgICA2LjAzNy0xNC4yOTcgNi4wMzctOC41NzggMC0xNC42MTUtNi4wMzdsLTI4LjU5My0yOC41OTNxLTYuMDM3LTYuMDM3LTYuMDM3LTE0LjYxNSAwLTguMjYgNi4wMzctMTQuMjk3TDE5OC40OTVcbiAgICAgIDI1NmwtNTcuNTA1LTU3LjUwNXEtNi4wMzctNi4wMzctNi4wMzctMTQuMjk3IDAtOC41NzggNi4wMzctMTQuNjE1bDI4LjU5My0yOC41OTNxNi4wMzctNi4wMzcgMTQuNjE1LTYuMDM3IDguMjYgMFxuICAgICAgMTQuMjk3IDYuMDM3TDI1NiAxOTguNDk1bDU3LjUwNS01Ny41MDVxNi4wMzctNi4wMzcgMTQuMjk3LTYuMDM3IDguNTc4IDAgMTQuNjE1IDYuMDM3bDI4LjU5MyAyOC41OTNxNi4wMzcgNi4wMzdcbiAgICAgIDYuMDM3IDE0LjYxNXpNNTAwIDI1NnEwLTY2LjQwMS0zMi43MjQtMTIyLjQ3Ny0zMi43MjQtNTYuMDc1LTg4Ljc5OS04OC43OTlRMzIyLjQwMSAxMiAyNTYgMTJxLTY2LjQwMSAwLTEyMi40NzdcbiAgICAgIDMyLjcyNC01Ni4wNzUgMzIuNzI0LTg4Ljc5OSA4OC43OTlRMTIgMTg5LjU5OSAxMiAyNTZxMCA2Ni40MDEgMzIuNzI0IDEyMi40NzcgMzIuNzI0IDU2LjA3NSA4OC43OTkgODguNzk5UTE4OS41OTlcbiAgICAgIDUwMCAyNTYgNTAwcTY2LjQwMSAwIDEyMi40NzctMzIuNzI0IDU2LjA3NS0zMi43MjQgODguNzk5LTg4Ljc5OVE1MDAgMzIyLjQwMSA1MDAgMjU2elwiPjwvcGF0aD5cbiAgPC9zdmc+YDtcbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICB0cmlnZ2VyLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIGFuaW1hdGUsXG4gIHRyYW5zaXRpb24sXG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVJbk91dDogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhID1cbiAgdHJpZ2dlcigndHJhbnNpdGlvbicsIFtcbiAgICBzdGF0ZSgnKicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXG5cbiAgICBzdGF0ZSgnYm90dG9tT3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSksXG4gICAgc3RhdGUoJ3RvcE91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pKSxcblxuICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gdG9wSW4nLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSxcbiAgICAgIGFuaW1hdGUoJzEwMDBtcyBlYXNlLWluLW91dCcpLFxuICAgIF0pLFxuXG4gICAgdHJhbnNpdGlvbigndm9pZCA9PiBib3R0b21JbicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSksXG4gICAgICBhbmltYXRlKCcxMDAwbXMgZWFzZS1pbi1vdXQnKSxcbiAgICBdKSxcblxuICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGFuaW1hdGUoJzEwMDBtcyBlYXNlLW91dCcpKSxcbiAgXSk7XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBjbG9zZUljb24gfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7IHRyYW5zbGF0ZUluT3V0IH0gZnJvbSAnLi9hbmltYXRpb25zJztcbmltcG9ydCB7IENvb2tpZUxhd0FuaW1hdGlvbiwgQ29va2llTGF3VGFyZ2V0LCBDb29raWVMYXdQb3NpdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb29raWUtbGF3LWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImNvb2tpZS1sYXctd3JhcHBlclwiXG4gICAgW25nU3R5bGVdPVwiY3VycmVudFN0eWxlc1wiXG4gICAgW0B0cmFuc2l0aW9uXT1cInRyYW5zaXRpb25cIlxuICAgIChAdHJhbnNpdGlvbi5kb25lKT1cImFmdGVyRGlzbWlzc0FuaW1hdGlvbigkZXZlbnQpXCI+XG5cbiAgPGRpdiBjbGFzcz1cImNvcHlcIj5cbiAgICA8c3BhbiAjcmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG5cbiAgICA8c3BhbiAqbmdJZj1cInJlZi5jaGlsZE5vZGVzLmxlbmd0aCA9PSAwXCI+XG4gICAgICBCeSBjb250aW51aW5nIHRvIGJyb3dzZSB0aGUgc2l0ZSwgeW91J3JlIGFncmVlaW5nIHRvIG91ciB1c2Ugb2YgY29va2llcy5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGVhcm5Nb3JlXCI+XG4gICAgICAgIExlYXJuIG1vcmUgaW4gb3VyIDxhIFtocmVmXT1cImxlYXJuTW9yZVwiIFt0YXJnZXRdPVwidGFyZ2V0XCIgW3JlbF09XCJub29wZW5lciA/ICdub29wZW5lciBub3JlZmVycmVyJyA6IG51bGxcIj5wcml2YWN5IHBvbGljeTwvYT4uXG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuXG4gICAgPGEgaHJlZj1cIiNcIiByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRpc21pc3NcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY2xvc2VTdmdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkaXNtaXNzKCRldmVudClcIj48L2E+XG48L2Rpdj5cbmAsXG4gIHN0eWxlczogW2AuY29va2llLWxhdy13cmFwcGVye2JhY2tncm91bmQ6IzMzMztjb2xvcjojYmJiO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6SGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6MjAwO2xpbmUtaGVpZ2h0OjIwcHg7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7ei1pbmRleDo5OTk5OTk5OTk7Zm9udC1zbW9vdGg6YWx3YXlzOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9LmNvb2tpZS1sYXctd3JhcHBlciBhe2NvbG9yOiNiYmI7dHJhbnNpdGlvbjpjb2xvciAuMnN9LmNvb2tpZS1sYXctd3JhcHBlciBhOmhvdmVye2NvbG9yOiNmZmZ9LmNvb2tpZS1sYXctd3JhcHBlciBhOmhvdmVyIHN2Z3tmaWxsOiNmZmZ9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzc3tkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTtsaW5lLWhlaWdodDoyMHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3Mgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDojYmJiO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dHJhbnNpdGlvbjpmaWxsIC4yc30uY29va2llLWxhdy13cmFwcGVyIC5jb3B5e2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjEwcHggNjBweCAxMHB4IDEwcHh9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weSBzcGFue2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NDAwfS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgYTphY3RpdmUsLmNvcHkgYTpob3ZlcntvdXRsaW5lOjB9QG1lZGlhIChtaW4td2lkdGg6NjAwcHgpey5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHl7cGFkZGluZzoyMHB4IDYwcHggMjBweCAyMHB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjI0cHh9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzc3t0b3A6MTBweDtyaWdodDoxNXB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3Mgc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9fWBdLFxuICBhbmltYXRpb25zOiBbdHJhbnNsYXRlSW5PdXRdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjbG9zZVN2ZzogU2FmZUh0bWw7XG4gIHB1YmxpYyBjdXJyZW50U3R5bGVzOiBhbnk7XG4gIHB1YmxpYyB0cmFuc2l0aW9uOiBDb29raWVMYXdBbmltYXRpb247XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb29raWUtbGF3JylcbiAgcHVibGljIGNvb2tpZUxhd0NsYXNzOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBsZWFybk1vcmUoKSB7IHJldHVybiB0aGlzLl9sZWFybk1vcmU7IH1cbiAgc2V0IGxlYXJuTW9yZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGVhcm5Nb3JlID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScpID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGF3c29tZUNsb3NlSWNvbigpIHsgcmV0dXJuIHRoaXMuX2F3c29tZUNsb3NlSWNvbjsgfVxuICBzZXQgYXdzb21lQ2xvc2VJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hd3NvbWVDbG9zZUljb24gPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJykgPyB2YWx1ZSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdGFyZ2V0KCkgeyByZXR1cm4gdGhpcy5fdGFyZ2V0OyB9XG4gIHNldCB0YXJnZXQodmFsdWU6IENvb2tpZUxhd1RhcmdldCkge1xuICAgIHRoaXMuX3RhcmdldCA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGAke3ZhbHVlfWAgPT09ICdfYmxhbmsnIHx8IGAke3ZhbHVlfWAgPT09ICdfc2VsZicpXG4gICAgICAgICAgICAgICAgICAgICApID8gdmFsdWUgOiAnX2JsYW5rJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBwb3NpdGlvbigpIHsgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uOyB9XG4gIHNldCBwb3NpdGlvbih2YWx1ZTogQ29va2llTGF3UG9zaXRpb24pIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGAke3ZhbHVlfWAgPT09ICd0b3AnIHx8IGAke3ZhbHVlfWAgPT09ICdib3R0b20nKVxuICAgICAgICAgICAgICAgICAgICAgKSA/IHZhbHVlIDogJ2JvdHRvbSc7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU2VlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgbm9vcGVuZXI6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfbGVhcm5Nb3JlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2F3c29tZUNsb3NlSWNvbjogc3RyaW5nO1xuICBwcml2YXRlIF90YXJnZXQ6IENvb2tpZUxhd1RhcmdldDtcbiAgcHJpdmF0ZSBfcG9zaXRpb246IENvb2tpZUxhd1Bvc2l0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICkge1xuICAgIHRoaXMudHJhbnNpdGlvbiA9ICdib3R0b21Jbic7XG4gICAgdGhpcy5fcG9zaXRpb24gPSAnYm90dG9tJztcbiAgICB0aGlzLmNvb2tpZUxhd0NsYXNzID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5vb3BlbmVyID0gdGhpcy5fdGFyZ2V0ID09PSAnX2JsYW5rJztcbiAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/ICdib3R0b21JbicgOiAndG9wSW4nO1xuXG4gICAgaWYgKHRoaXMuX2F3c29tZUNsb3NlSWNvbikge1xuICAgICAgdGhpcy5jbG9zZVN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgICAgICBgPGkgY2xhc3M9XCJmYWIgJHt0aGlzLl9hd3NvbWVDbG9zZUljb259XCI+PC9pPmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlU3ZnID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY2xvc2VJY29uKTtcbiAgICB9XG5cblxuICAgIHRoaXMuY3VycmVudFN0eWxlcyA9IHtcbiAgICAgICd0b3AnOiB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICcwJyA6IG51bGwsXG4gICAgICAnYm90dG9tJzogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnaW5pdGlhbCcgOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWZ0ZXJEaXNtaXNzQW5pbWF0aW9uKGV2dDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZ0LnRvU3RhdGUgPT09ICd0b3BPdXQnIHx8XG4gICAgICAgIGV2dC50b1N0YXRlID09PSAnYm90dG9tT3V0Jykge1xuICAgICAgdGhpcy5pc1NlZW4uZW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcyhldnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2dCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAndG9wT3V0JyA6ICdib3R0b21PdXQnO1xuICB9XG5cbn1cbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llTGF3Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb29raWVMYXdUYXJnZXQsIENvb2tpZUxhd1Bvc2l0aW9uIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nvb2tpZS1sYXcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxjb29raWUtbGF3LWNvbXBvbmVudCAqbmdJZj1cIiFzZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2F3c29tZUNsb3NlSWNvbl09XCJhd3NvbWVDbG9zZUljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVhcm5Nb3JlXT1cImxlYXJuTW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwidGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGlzU2Vlbik9XCJoYXNCZWVuRGlzbWlzc2VkKClcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Nvb2tpZS1sYXctY29tcG9uZW50PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5zZWVuJylcbiAgcHVibGljIHNlZW46IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZChDb29raWVMYXdDb21wb25lbnQpXG4gIHB1YmxpYyBjb29raWVMYXdDb21wb25lbnQ6IENvb2tpZUxhd0NvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZWFybk1vcmU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFyZ2V0OiBDb29raWVMYXdUYXJnZXQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBvc2l0aW9uOiBDb29raWVMYXdQb3NpdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwaXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhd3NvbWVDbG9zZUljb246IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU2VlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgZ2V0IGNvb2tpZUxhd1NlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llTGF3U2VydmljZS5zZWVuKHRoaXMubmFtZSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZUxhd1NlcnZpY2U6IEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSkge1xuICAgIHRoaXMubmFtZSA9ICdjb29raWVMYXdTZWVuJzsgLy8gc2V0IGEgZGVmYXVsdCBjb29raWUgbmFtZSBpZiBub3QgcHJvdmlkZWRcbiAgICB0aGlzLnNlZW4gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VlbiA9IHRoaXMuY29va2llTGF3U2VydmljZS5zZWVuKHRoaXMubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgaGFzQmVlbkRpc21pc3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc3RvcmVDb29raWUodGhpcy5uYW1lLCB0aGlzLmV4cGlyYXRpb24pO1xuICAgIHRoaXMuc2VlbiA9IHRydWU7XG4gICAgdGhpcy5pc1NlZW4uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuY29va2llTGF3Q29tcG9uZW50LmRpc21pc3MoKTtcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQ29va2llTGF3Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvb2tpZUxhd0NvbXBvbmVudCxcbiAgICBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUxhd01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yIChAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IENvb2tpZUxhd01vZHVsZSkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nvb2tpZUxhd01vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lBZVMsSUFBSSxDQUFDLGFBQXFCLGVBQWU7UUFDOUMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7O0lBR2pDLFdBQVcsQ0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Ozs7OztJQUd4QyxhQUFhLENBQUMsSUFBWTtRQUNoQyx1QkFBTSxFQUFFLEdBQWtCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELHVCQUFNLEtBQUssR0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hDLHVCQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQzlCLHFCQUFJLENBQVMsQ0FBQztRQUVkLEtBQUsscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7Ozs7Ozs7SUFHUCxTQUFTLENBQUMsSUFBWSxFQUFFLFVBQW1CO1FBQ2pELHVCQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLHFCQUFJLE9BQU8sQ0FBQztRQUVaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUNyRCxPQUFPLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QyxRQUFRLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsR0FBRyxPQUFPLENBQUM7Ozs7WUFwQzFFLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7Ozs7Ozs7Ozs7Ozs7O0FDSkQsQUFBTyx1QkFBTSxTQUFTLEdBQUc7Ozs7Ozs7Ozs7U0FVaEIsQ0FBQzs7Ozs7O3VCQ0RHLGNBQWMsR0FDekIsT0FBTyxDQUFDLFlBQVksRUFBRTtJQUNwQixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFcEQsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzVELEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUUxRCxVQUFVLENBQUMsZUFBZSxFQUFFO1FBQzFCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztLQUM5QixDQUFDO0lBRUYsVUFBVSxDQUFDLGtCQUFrQixFQUFFO1FBQzdCLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztLQUM5QixDQUFDO0lBRUYsVUFBVSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztDQUNqRCxDQUFDOzs7Ozs7Ozs7O0lDNkRGLFlBQ1U7UUFBQSxpQkFBWSxHQUFaLFlBQVk7c0JBVk4sSUFBSSxZQUFZLEVBQVc7UUFZekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7S0FDNUI7Ozs7UUEzQ0csU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQzs7Ozs7SUFDekMsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxLQUFLLE9BQU8sSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO0tBQzdFOzs7O1FBR0csZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDOzs7OztJQUNyRCxJQUFJLGVBQWUsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztLQUNuRjs7OztRQUdHLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7Ozs7O0lBQ25DLElBQUksTUFBTSxDQUFDLEtBQXNCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEtBQUssT0FBTzthQUNyQyxHQUFHLEtBQUssRUFBRSxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssRUFBRSxLQUFLLE9BQU8sQ0FBQyxJQUNoRCxLQUFLLEdBQUcsUUFBUSxDQUFDO0tBQ3ZDOzs7O1FBR0csUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQzs7Ozs7SUFDdkMsSUFBSSxRQUFRLENBQUMsS0FBd0I7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUUsS0FBSyxPQUFPO2FBQ3ZDLEdBQUcsS0FBSyxFQUFFLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxFQUFFLEtBQUssUUFBUSxDQUFDLElBQzlDLEtBQUssR0FBRyxRQUFRLENBQUM7S0FDdkM7Ozs7SUFvQk0sUUFBUTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO1FBRXBFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FDdkQsaUJBQWlCLElBQUksQ0FBQyxnQkFBZ0IsUUFBUSxDQUFDLENBQUM7U0FDbkQ7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0RTtRQUdELElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJO1lBQzNDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssR0FBRyxTQUFTLEdBQUcsSUFBSTtTQUNyRCxDQUFDOzs7Ozs7SUFHRyxxQkFBcUIsQ0FBQyxHQUFtQjtRQUM5QyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEtBQUssUUFBUTtZQUN4QixHQUFHLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4Qjs7Ozs7O0lBR0ksT0FBTyxDQUFDLEdBQWdCO1FBQzdCLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssR0FBRyxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7O1lBaEh0RSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW9CWDtnQkFDQyxNQUFNLEVBQUUsQ0FBQyx5bUNBQXltQyxDQUFDO2dCQUNubkMsVUFBVSxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUM1QixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7OztZQWhDUSxZQUFZOzs7K0JBdUNsQixXQUFXLFNBQUMsa0JBQWtCOzBCQUc5QixLQUFLO2dDQU1MLEtBQUs7dUJBTUwsS0FBSzt5QkFRTCxLQUFLO3VCQVFMLE1BQU07Ozs7Ozs7Ozs7O0lDbkJQLFlBQW9CLGdCQUEwQztRQUExQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO3NCQU45QyxJQUFJLFlBQVksRUFBVztRQU96QyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUNsQjs7OztRQVBVLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Ozs7SUFReEMsUUFBUTtRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7O0lBRzdDLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztJQUdsQixPQUFPO1FBQ1osSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDOzs7O1lBOURyQyxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7O0dBU1Q7YUFDRjs7OztZQWhCUSx3QkFBd0I7OztxQkFtQjlCLFdBQVcsU0FBQyxXQUFXO21DQUd2QixTQUFTLFNBQUMsa0JBQWtCO3FCQUc1QixLQUFLOzBCQUdMLEtBQUs7dUJBR0wsS0FBSzt5QkFHTCxLQUFLOzJCQUdMLEtBQUs7Z0NBR0wsS0FBSzt1QkFHTCxNQUFNOzs7Ozs7Ozs7OztJQ2xDUCxZQUFxQztRQUNuQyxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLG9FQUFvRSxDQUFDLENBQUM7U0FDekU7S0FDRjs7O1lBbEJGLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO29CQUNsQiwyQkFBMkI7aUJBQzVCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwyQkFBMkI7aUJBQzVCO2FBQ0Y7Ozs7WUFDWSxlQUFlLHVCQUNaLFFBQVEsWUFBSSxRQUFROzs7Ozs7Ozs7Ozs7Ozs7In0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9pY29ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5pbWF0aW9ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIHtcbiAgcHVibGljIHNlZW4oY29va2llTmFtZTogc3RyaW5nID0gJ2Nvb2tpZUxhd1NlZW4nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29va2llczogQXJyYXk8c3RyaW5nPiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuXG4gICAgcmV0dXJuIHRoaXMuY29va2llRXhpc2l0cyhjb29raWVOYW1lLCBjb29raWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9yZUNvb2tpZShjb29raWVOYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb29raWUoY29va2llTmFtZSwgZXhwaXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGNvb2tpZUV4aXNpdHMobmFtZTogc3RyaW5nLCBjb29raWVzOiBBcnJheTxzdHJpbmc+KTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29va2llTmFtZSA9IGAke25hbWV9PWA7XG5cbiAgICByZXR1cm4gY29va2llcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+XG4gICAgICBwcmV2IHx8IGN1cnIudHJpbSgpLnNlYXJjaChjb29raWVOYW1lKSA+IC0xLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBub3c6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGV4cDogRGF0ZSA9IG5ldyBEYXRlKG5vdy5nZXRUaW1lKCkgKyBleHBpcmF0aW9uICogODY0MDAwMDApO1xuXG4gICAgY29uc3QgY29va2llU3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICtcbiAgICAgIGA9dHJ1ZTtwYXRoPS87ZXhwaXJlcz0ke2V4cC50b1VUQ1N0cmluZygpfTtgO1xuXG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llU3RyaW5nO1xuICB9XG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuZXhwb3J0IGNvbnN0IGNsb3NlSWNvbiA9IGBcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XG4gICAgPHBhdGggZD1cIk0zNzcuMDQ3IDE4NC4xOThxMCA4LjI2LTYuMDM3IDE0LjI5N0wzMTMuNTA1IDI1Nmw1Ny41MDUgNTcuNTA1cTYuMDM3IDYuMDM3IDYuMDM3IDE0LjI5NyAwIDguNTc4LTYuMDM3XG4gICAgICAxNC42MTVsLTI4LjU5MyAyOC41OTNxLTYuMDM3IDYuMDM3LTE0LjYxNSA2LjAzNy04LjI2IDAtMTQuMjk3LTYuMDM3TDI1NiAzMTMuNTA1bC01Ny41MDUgNTcuNTA1cS02LjAzN1xuICAgICAgNi4wMzctMTQuMjk3IDYuMDM3LTguNTc4IDAtMTQuNjE1LTYuMDM3bC0yOC41OTMtMjguNTkzcS02LjAzNy02LjAzNy02LjAzNy0xNC42MTUgMC04LjI2IDYuMDM3LTE0LjI5N0wxOTguNDk1XG4gICAgICAyNTZsLTU3LjUwNS01Ny41MDVxLTYuMDM3LTYuMDM3LTYuMDM3LTE0LjI5NyAwLTguNTc4IDYuMDM3LTE0LjYxNWwyOC41OTMtMjguNTkzcTYuMDM3LTYuMDM3IDE0LjYxNS02LjAzNyA4LjI2IDBcbiAgICAgIDE0LjI5NyA2LjAzN0wyNTYgMTk4LjQ5NWw1Ny41MDUtNTcuNTA1cTYuMDM3LTYuMDM3IDE0LjI5Ny02LjAzNyA4LjU3OCAwIDE0LjYxNSA2LjAzN2wyOC41OTMgMjguNTkzcTYuMDM3IDYuMDM3XG4gICAgICA2LjAzNyAxNC42MTV6TTUwMCAyNTZxMC02Ni40MDEtMzIuNzI0LTEyMi40NzctMzIuNzI0LTU2LjA3NS04OC43OTktODguNzk5UTMyMi40MDEgMTIgMjU2IDEycS02Ni40MDEgMC0xMjIuNDc3XG4gICAgICAzMi43MjQtNTYuMDc1IDMyLjcyNC04OC43OTkgODguNzk5UTEyIDE4OS41OTkgMTIgMjU2cTAgNjYuNDAxIDMyLjcyNCAxMjIuNDc3IDMyLjcyNCA1Ni4wNzUgODguNzk5IDg4Ljc5OVExODkuNTk5XG4gICAgICA1MDAgMjU2IDUwMHE2Ni40MDEgMCAxMjIuNDc3LTMyLjcyNCA1Ni4wNzUtMzIuNzI0IDg4Ljc5OS04OC43OTlRNTAwIDMyMi40MDEgNTAwIDI1NnpcIj48L3BhdGg+XG4gIDwvc3ZnPmA7XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgdHJpZ2dlcixcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICBhbmltYXRlLFxuICB0cmFuc2l0aW9uLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlSW5PdXQ6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSA9XG4gIHRyaWdnZXIoJ3RyYW5zaXRpb24nLCBbXG4gICAgc3RhdGUoJyonLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcbiAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuXG4gICAgc3RhdGUoJ2JvdHRvbU91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSkpLFxuICAgIHN0YXRlKCd0b3BPdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXG5cbiAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHRvcEluJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSksXG4gICAgICBhbmltYXRlKCcxMDAwbXMgZWFzZS1pbi1vdXQnKSxcbiAgICBdKSxcblxuICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gYm90dG9tSW4nLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgnMTAwMG1zIGVhc2UtaW4tb3V0JyksXG4gICAgXSksXG5cbiAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcxMDAwbXMgZWFzZS1vdXQnKSksXG4gIF0pO1xuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgY2xvc2VJY29uIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgeyB0cmFuc2xhdGVJbk91dCB9IGZyb20gJy4vYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb29raWVMYXdBbmltYXRpb24sIENvb2tpZUxhd1RhcmdldCwgQ29va2llTGF3UG9zaXRpb24gfSBmcm9tICcuL2RlZmluaXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29va2llLWxhdy1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJjb29raWUtbGF3LXdyYXBwZXJcIlxuICAgIFtuZ1N0eWxlXT1cImN1cnJlbnRTdHlsZXNcIlxuICAgIFtAdHJhbnNpdGlvbl09XCJ0cmFuc2l0aW9uXCJcbiAgICAoQHRyYW5zaXRpb24uZG9uZSk9XCJhZnRlckRpc21pc3NBbmltYXRpb24oJGV2ZW50KVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb3B5XCI+XG4gICAgPHNwYW4gI3JlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJyZWYuY2hpbGROb2Rlcy5sZW5ndGggPT0gMFwiPlxuICAgICAgQnkgY29udGludWluZyB0byBicm93c2UgdGhlIHNpdGUsIHlvdSdyZSBhZ3JlZWluZyB0byBvdXIgdXNlIG9mIGNvb2tpZXMuXG4gICAgICA8c3BhbiAqbmdJZj1cImxlYXJuTW9yZVwiPlxuICAgICAgICBMZWFybiBtb3JlIGluIG91ciA8YSBbaHJlZl09XCJsZWFybk1vcmVcIiBbdGFyZ2V0XT1cInRhcmdldFwiIFtyZWxdPVwibm9vcGVuZXIgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiBudWxsXCI+cHJpdmFjeSBwb2xpY3k8L2E+LlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cblxuICAgIDxhIGhyZWY9XCIjXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNtaXNzXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNsb3NlU3ZnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcygkZXZlbnQpXCI+PC9hPlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgLmNvb2tpZS1sYXctd3JhcHBlcntiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2JiYjtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OkhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjIwMDtsaW5lLWhlaWdodDoyMHB4O3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO3otaW5kZXg6OTk5OTk5OTk5O2ZvbnQtc21vb3RoOmFsd2F5czstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfS5jb29raWUtbGF3LXdyYXBwZXIgYXtjb2xvcjojYmJiO3RyYW5zaXRpb246Y29sb3IgLjJzfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3Zlcntjb2xvcjojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3ZlciBzdmd7ZmlsbDojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjEwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6MjBweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6I2JiYjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RyYW5zaXRpb246ZmlsbCAuMnN9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4IDYwcHggMTBweCAxMHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgc3Bhbntjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjQwMH0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGE6YWN0aXZlLC5jb3B5IGE6aG92ZXJ7b3V0bGluZTowfUBtZWRpYSAobWluLXdpZHRoOjYwMHB4KXsuY29va2llLWxhdy13cmFwcGVyIC5jb3B5e3BhZGRpbmc6MjBweCA2MHB4IDIwcHggMjBweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7dG9wOjEwcHg7cmlnaHQ6MTVweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3t3aWR0aDoyNHB4O2hlaWdodDoyNHB4fX1gXSxcbiAgYW5pbWF0aW9uczogW3RyYW5zbGF0ZUluT3V0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY2xvc2VTdmc6IFNhZmVIdG1sO1xuICBwdWJsaWMgY3VycmVudFN0eWxlczogYW55O1xuICBwdWJsaWMgdHJhbnNpdGlvbjogQ29va2llTGF3QW5pbWF0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29va2llLWxhdycpXG4gIHB1YmxpYyBjb29raWVMYXdDbGFzczogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBnZXQgbGVhcm5Nb3JlKCkgeyByZXR1cm4gdGhpcy5fbGVhcm5Nb3JlOyB9XG4gIHNldCBsZWFybk1vcmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xlYXJuTW9yZSA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnKSA/IHZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBhd3NvbWVDbG9zZUljb24oKSB7IHJldHVybiB0aGlzLl9hd3NvbWVDbG9zZUljb247IH1cbiAgc2V0IGF3c29tZUNsb3NlSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXdzb21lQ2xvc2VJY29uID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScpID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHRhcmdldCgpIHsgcmV0dXJuIHRoaXMuX3RhcmdldDsgfVxuICBzZXQgdGFyZ2V0KHZhbHVlOiBDb29raWVMYXdUYXJnZXQpIHtcbiAgICB0aGlzLl90YXJnZXQgPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAnX2JsYW5rJyB8fCBgJHt2YWx1ZX1gID09PSAnX3NlbGYnKVxuICAgICAgICAgICAgICAgICAgICAgKSA/IHZhbHVlIDogJ19ibGFuayc7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcG9zaXRpb24oKSB7IHJldHVybiB0aGlzLl9wb3NpdGlvbjsgfVxuICBzZXQgcG9zaXRpb24odmFsdWU6IENvb2tpZUxhd1Bvc2l0aW9uKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAndG9wJyB8fCBgJHt2YWx1ZX1gID09PSAnYm90dG9tJylcbiAgICAgICAgICAgICAgICAgICAgICkgPyB2YWx1ZSA6ICdib3R0b20nO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG5vb3BlbmVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2xlYXJuTW9yZTogc3RyaW5nO1xuICBwcml2YXRlIF9hd3NvbWVDbG9zZUljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBDb29raWVMYXdUYXJnZXQ7XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBDb29raWVMYXdQb3NpdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICApIHtcbiAgICB0aGlzLnRyYW5zaXRpb24gPSAnYm90dG9tSW4nO1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgdGhpcy5jb29raWVMYXdDbGFzcyA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ub29wZW5lciA9IHRoaXMuX3RhcmdldCA9PT0gJ19ibGFuayc7XG4gICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAnYm90dG9tSW4nIDogJ3RvcEluJztcblxuICAgIGlmICh0aGlzLl9hd3NvbWVDbG9zZUljb24pIHtcbiAgICAgIHRoaXMuY2xvc2VTdmcgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgYDxpIGNsYXNzPVwiZmFiICR7dGhpcy5fYXdzb21lQ2xvc2VJY29ufVwiPjwvaT5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZVN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNsb3NlSWNvbik7XG4gICAgfVxuXG5cbiAgICB0aGlzLmN1cnJlbnRTdHlsZXMgPSB7XG4gICAgICAndG9wJzogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnMCcgOiBudWxsLFxuICAgICAgJ2JvdHRvbSc6IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ2luaXRpYWwnIDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFmdGVyRGlzbWlzc0FuaW1hdGlvbihldnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2dC50b1N0YXRlID09PSAndG9wT3V0JyB8fFxuICAgICAgICBldnQudG9TdGF0ZSA9PT0gJ2JvdHRvbU91dCcpIHtcbiAgICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc21pc3MoZXZ0PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQpIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHRoaXMudHJhbnNpdGlvbiA9IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ3RvcE91dCcgOiAnYm90dG9tT3V0JztcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3VGFyZ2V0LCBDb29raWVMYXdQb3NpdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb29raWUtbGF3JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y29va2llLWxhdy1jb21wb25lbnQgKm5nSWY9XCIhc2VlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthd3NvbWVDbG9zZUljb25dPVwiYXdzb21lQ2xvc2VJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlYXJuTW9yZV09XCJsZWFybk1vcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChpc1NlZW4pPVwiaGFzQmVlbkRpc21pc3NlZCgpXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9jb29raWUtbGF3LWNvbXBvbmVudD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuc2VlbicpXG4gIHB1YmxpYyBzZWVuOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoQ29va2llTGF3Q29tcG9uZW50KVxuICBwdWJsaWMgY29va2llTGF3Q29tcG9uZW50OiBDb29raWVMYXdDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGVhcm5Nb3JlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhcmdldDogQ29va2llTGF3VGFyZ2V0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3NpdGlvbjogQ29va2llTGF3UG9zaXRpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV4cGlyYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXdzb21lQ2xvc2VJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGdldCBjb29raWVMYXdTZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb29raWVMYXdTZXJ2aWNlOiBBbmd1bGFyMkNvb2tpZUxhd1NlcnZpY2UpIHtcbiAgICB0aGlzLm5hbWUgPSAnY29va2llTGF3U2Vlbic7IC8vIHNldCBhIGRlZmF1bHQgY29va2llIG5hbWUgaWYgbm90IHByb3ZpZGVkXG4gICAgdGhpcy5zZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlZW4gPSB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGhhc0JlZW5EaXNtaXNzZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVMYXdTZXJ2aWNlLnN0b3JlQ29va2llKHRoaXMubmFtZSwgdGhpcy5leHBpcmF0aW9uKTtcbiAgICB0aGlzLnNlZW4gPSB0cnVlO1xuICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZUxhd0NvbXBvbmVudC5kaXNtaXNzKCk7XG4gIH1cblxufVxuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb29raWVMYXdDb21wb25lbnQsXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdNb2R1bGUge1xuICBjb25zdHJ1Y3RvciAoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb29raWVMYXdNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb29raWVMYXdNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQWNTLElBQUksQ0FBQyxhQUFxQixlQUFlO1FBQzlDLHVCQUFNLE9BQU8sR0FBa0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQzs7Ozs7OztJQUcxQyxXQUFXLENBQUMsVUFBa0IsRUFBRSxVQUFtQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7O0lBR3hDLGFBQWEsQ0FBQyxJQUFZLEVBQUUsT0FBc0I7UUFDeEQsdUJBQU0sVUFBVSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFFOUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksS0FDL0IsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7Ozs7Ozs7SUFHaEQsU0FBUyxDQUFDLElBQVksRUFBRSxVQUFtQjtRQUNqRCx1QkFBTSxHQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3Qix1QkFBTSxHQUFHLEdBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FB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

@@ -23,3 +23,4 @@ import { Injectable, Component, ViewChild, HostBinding, Input, Output, EventEmitter, ViewEncapsulation, NgModule, Optional, SkipSelf, defineInjectable } from '@angular/core';

if (cookieName === void 0) { cookieName = 'cookieLawSeen'; }
return this.cookieExisits(cookieName);
var /** @type {?} */ cookies = document.cookie.split(';');
return this.cookieExisits(cookieName, cookies);
};

@@ -41,2 +42,3 @@ /**

* @param {?} name
* @param {?} cookies
* @return {?}

@@ -46,16 +48,10 @@ */

* @param {?} name
* @param {?} cookies
* @return {?}
*/
function (name) {
var /** @type {?} */ ca = document.cookie.split(';');
var /** @type {?} */ caLen = ca.length;
var /** @type {?} */ cookieName = name + '=';
var /** @type {?} */ c;
for (var /** @type {?} */ i = 0; i < caLen; i += 1) {
c = ca[i].replace(/^\s\+/g, '');
if (c.indexOf(cookieName) !== -1) {
return true;
}
}
return false;
function (name, cookies) {
var /** @type {?} */ cookieName = name + "=";
return cookies.reduce(function (prev, curr) {
return prev || curr.trim().search(cookieName) > -1;
}, false);
};

@@ -73,7 +69,7 @@ /**

function (name, expiration) {
var /** @type {?} */ date = new Date();
var /** @type {?} */ expires;
date.setTime(date.getTime() + expiration * 86400000);
expires = '; expires=' + date.toUTCString();
document.cookie = encodeURIComponent(name) + '=true; path=/' + expires;
var /** @type {?} */ now = new Date();
var /** @type {?} */ exp = new Date(now.getTime() + expiration * 86400000);
var /** @type {?} */ cookieString = encodeURIComponent(name) +
("=true;path=/;expires=" + exp.toUTCString() + ";");
document.cookie = cookieString;
};

@@ -385,2 +381,2 @@ Angular2CookieLawService.decorators = [

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9pY29ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5pbWF0aW9ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIHtcblxuICBwdWJsaWMgc2Vlbihjb29raWVOYW1lOiBzdHJpbmcgPSAnY29va2llTGF3U2VlbicpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jb29raWVFeGlzaXRzKGNvb2tpZU5hbWUpO1xuICB9XG5cbiAgcHVibGljIHN0b3JlQ29va2llKGNvb2tpZU5hbWU6IHN0cmluZywgZXhwaXJhdGlvbj86IG51bWJlcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnNldENvb2tpZShjb29raWVOYW1lLCBleHBpcmF0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgY29va2llRXhpc2l0cyhuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYTogQXJyYXk8c3RyaW5nPiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuICAgIGNvbnN0IGNhTGVuOiBudW1iZXIgPSBjYS5sZW5ndGg7XG4gICAgY29uc3QgY29va2llTmFtZSA9IG5hbWUgKyAnPSc7XG4gICAgbGV0IGM6IHN0cmluZztcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FMZW47IGkgKz0gMSkge1xuICAgICAgYyA9IGNhW2ldLnJlcGxhY2UoL15cXHNcXCsvZywgJycpO1xuICAgICAgaWYgKGMuaW5kZXhPZihjb29raWVOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBleHBpcmF0aW9uPzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgbGV0IGV4cGlyZXM7XG5cbiAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBleHBpcmF0aW9uICogODY0MDAwMDApO1xuICAgIGV4cGlyZXMgPSAnOyBleHBpcmVzPScgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XG5cbiAgICBkb2N1bWVudC5jb29raWUgPSBlbmNvZGVVUklDb21wb25lbnQobmFtZSkgKyAnPXRydWU7IHBhdGg9LycgKyBleHBpcmVzO1xuICB9XG5cbn1cbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5leHBvcnQgY29uc3QgY2xvc2VJY29uID0gYFxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDUxMiA1MTJcIj5cbiAgICA8cGF0aCBkPVwiTTM3Ny4wNDcgMTg0LjE5OHEwIDguMjYtNi4wMzcgMTQuMjk3TDMxMy41MDUgMjU2bDU3LjUwNSA1Ny41MDVxNi4wMzcgNi4wMzcgNi4wMzcgMTQuMjk3IDAgOC41NzgtNi4wMzdcbiAgICAgIDE0LjYxNWwtMjguNTkzIDI4LjU5M3EtNi4wMzcgNi4wMzctMTQuNjE1IDYuMDM3LTguMjYgMC0xNC4yOTctNi4wMzdMMjU2IDMxMy41MDVsLTU3LjUwNSA1Ny41MDVxLTYuMDM3XG4gICAgICA2LjAzNy0xNC4yOTcgNi4wMzctOC41NzggMC0xNC42MTUtNi4wMzdsLTI4LjU5My0yOC41OTNxLTYuMDM3LTYuMDM3LTYuMDM3LTE0LjYxNSAwLTguMjYgNi4wMzctMTQuMjk3TDE5OC40OTVcbiAgICAgIDI1NmwtNTcuNTA1LTU3LjUwNXEtNi4wMzctNi4wMzctNi4wMzctMTQuMjk3IDAtOC41NzggNi4wMzctMTQuNjE1bDI4LjU5My0yOC41OTNxNi4wMzctNi4wMzcgMTQuNjE1LTYuMDM3IDguMjYgMFxuICAgICAgMTQuMjk3IDYuMDM3TDI1NiAxOTguNDk1bDU3LjUwNS01Ny41MDVxNi4wMzctNi4wMzcgMTQuMjk3LTYuMDM3IDguNTc4IDAgMTQuNjE1IDYuMDM3bDI4LjU5MyAyOC41OTNxNi4wMzcgNi4wMzdcbiAgICAgIDYuMDM3IDE0LjYxNXpNNTAwIDI1NnEwLTY2LjQwMS0zMi43MjQtMTIyLjQ3Ny0zMi43MjQtNTYuMDc1LTg4Ljc5OS04OC43OTlRMzIyLjQwMSAxMiAyNTYgMTJxLTY2LjQwMSAwLTEyMi40NzdcbiAgICAgIDMyLjcyNC01Ni4wNzUgMzIuNzI0LTg4Ljc5OSA4OC43OTlRMTIgMTg5LjU5OSAxMiAyNTZxMCA2Ni40MDEgMzIuNzI0IDEyMi40NzcgMzIuNzI0IDU2LjA3NSA4OC43OTkgODguNzk5UTE4OS41OTlcbiAgICAgIDUwMCAyNTYgNTAwcTY2LjQwMSAwIDEyMi40NzctMzIuNzI0IDU2LjA3NS0zMi43MjQgODguNzk5LTg4Ljc5OVE1MDAgMzIyLjQwMSA1MDAgMjU2elwiPjwvcGF0aD5cbiAgPC9zdmc+YDtcbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICB0cmlnZ2VyLFxuICBzdGF0ZSxcbiAgc3R5bGUsXG4gIGFuaW1hdGUsXG4gIHRyYW5zaXRpb24sXG4gIEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVJbk91dDogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhID1cbiAgdHJpZ2dlcigndHJhbnNpdGlvbicsIFtcbiAgICBzdGF0ZSgnKicsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDApJyB9KSksXG5cbiAgICBzdGF0ZSgnYm90dG9tT3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKDEwMCUpJyB9KSksXG4gICAgc3RhdGUoJ3RvcE91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknIH0pKSxcblxuICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gdG9wSW4nLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSxcbiAgICAgIGFuaW1hdGUoJzEwMDBtcyBlYXNlLWluLW91dCcpLFxuICAgIF0pLFxuXG4gICAgdHJhbnNpdGlvbigndm9pZCA9PiBib3R0b21JbicsIFtcbiAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSksXG4gICAgICBhbmltYXRlKCcxMDAwbXMgZWFzZS1pbi1vdXQnKSxcbiAgICBdKSxcblxuICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGFuaW1hdGUoJzEwMDBtcyBlYXNlLW91dCcpKSxcbiAgXSk7XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIEhvc3RCaW5kaW5nLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBjbG9zZUljb24gfSBmcm9tICcuL2ljb25zJztcbmltcG9ydCB7IHRyYW5zbGF0ZUluT3V0IH0gZnJvbSAnLi9hbmltYXRpb25zJztcbmltcG9ydCB7IENvb2tpZUxhd0FuaW1hdGlvbiwgQ29va2llTGF3VGFyZ2V0LCBDb29raWVMYXdQb3NpdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb29raWUtbGF3LWNvbXBvbmVudCcsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImNvb2tpZS1sYXctd3JhcHBlclwiXG4gICAgW25nU3R5bGVdPVwiY3VycmVudFN0eWxlc1wiXG4gICAgW0B0cmFuc2l0aW9uXT1cInRyYW5zaXRpb25cIlxuICAgIChAdHJhbnNpdGlvbi5kb25lKT1cImFmdGVyRGlzbWlzc0FuaW1hdGlvbigkZXZlbnQpXCI+XG5cbiAgPGRpdiBjbGFzcz1cImNvcHlcIj5cbiAgICA8c3BhbiAjcmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG5cbiAgICA8c3BhbiAqbmdJZj1cInJlZi5jaGlsZE5vZGVzLmxlbmd0aCA9PSAwXCI+XG4gICAgICBCeSBjb250aW51aW5nIHRvIGJyb3dzZSB0aGUgc2l0ZSwgeW91J3JlIGFncmVlaW5nIHRvIG91ciB1c2Ugb2YgY29va2llcy5cbiAgICAgIDxzcGFuICpuZ0lmPVwibGVhcm5Nb3JlXCI+XG4gICAgICAgIExlYXJuIG1vcmUgaW4gb3VyIDxhIFtocmVmXT1cImxlYXJuTW9yZVwiIFt0YXJnZXRdPVwidGFyZ2V0XCIgW3JlbF09XCJub29wZW5lciA/ICdub29wZW5lciBub3JlZmVycmVyJyA6IG51bGxcIj5wcml2YWN5IHBvbGljeTwvYT4uXG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuXG4gICAgPGEgaHJlZj1cIiNcIiByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRpc21pc3NcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiY2xvc2VTdmdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkaXNtaXNzKCRldmVudClcIj48L2E+XG48L2Rpdj5cbmAsXG4gIHN0eWxlczogW2AuY29va2llLWxhdy13cmFwcGVye2JhY2tncm91bmQ6IzMzMztjb2xvcjojYmJiO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6SGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6MjAwO2xpbmUtaGVpZ2h0OjIwcHg7cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7ei1pbmRleDo5OTk5OTk5OTk7Zm9udC1zbW9vdGg6YWx3YXlzOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9LmNvb2tpZS1sYXctd3JhcHBlciBhe2NvbG9yOiNiYmI7dHJhbnNpdGlvbjpjb2xvciAuMnN9LmNvb2tpZS1sYXctd3JhcHBlciBhOmhvdmVye2NvbG9yOiNmZmZ9LmNvb2tpZS1sYXctd3JhcHBlciBhOmhvdmVyIHN2Z3tmaWxsOiNmZmZ9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzc3tkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTtsaW5lLWhlaWdodDoyMHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3Mgc3Zne2Rpc3BsYXk6YmxvY2s7ZmlsbDojYmJiO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dHJhbnNpdGlvbjpmaWxsIC4yc30uY29va2llLWxhdy13cmFwcGVyIC5jb3B5e2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjEwcHggNjBweCAxMHB4IDEwcHh9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weSBzcGFue2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NDAwfS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgYTphY3RpdmUsLmNvcHkgYTpob3ZlcntvdXRsaW5lOjB9QG1lZGlhIChtaW4td2lkdGg6NjAwcHgpey5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHl7cGFkZGluZzoyMHB4IDYwcHggMjBweCAyMHB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjI0cHh9LmNvb2tpZS1sYXctd3JhcHBlciAuZGlzbWlzc3t0b3A6MTBweDtyaWdodDoxNXB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3Mgc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9fWBdLFxuICBhbmltYXRpb25zOiBbdHJhbnNsYXRlSW5PdXRdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBjbG9zZVN2ZzogU2FmZUh0bWw7XG4gIHB1YmxpYyBjdXJyZW50U3R5bGVzOiBhbnk7XG4gIHB1YmxpYyB0cmFuc2l0aW9uOiBDb29raWVMYXdBbmltYXRpb247XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb29raWUtbGF3JylcbiAgcHVibGljIGNvb2tpZUxhd0NsYXNzOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBsZWFybk1vcmUoKSB7IHJldHVybiB0aGlzLl9sZWFybk1vcmU7IH1cbiAgc2V0IGxlYXJuTW9yZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGVhcm5Nb3JlID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScpID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGF3c29tZUNsb3NlSWNvbigpIHsgcmV0dXJuIHRoaXMuX2F3c29tZUNsb3NlSWNvbjsgfVxuICBzZXQgYXdzb21lQ2xvc2VJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9hd3NvbWVDbG9zZUljb24gPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJykgPyB2YWx1ZSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdGFyZ2V0KCkgeyByZXR1cm4gdGhpcy5fdGFyZ2V0OyB9XG4gIHNldCB0YXJnZXQodmFsdWU6IENvb2tpZUxhd1RhcmdldCkge1xuICAgIHRoaXMuX3RhcmdldCA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGAke3ZhbHVlfWAgPT09ICdfYmxhbmsnIHx8IGAke3ZhbHVlfWAgPT09ICdfc2VsZicpXG4gICAgICAgICAgICAgICAgICAgICApID8gdmFsdWUgOiAnX2JsYW5rJztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBwb3NpdGlvbigpIHsgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uOyB9XG4gIHNldCBwb3NpdGlvbih2YWx1ZTogQ29va2llTGF3UG9zaXRpb24pIHtcbiAgICB0aGlzLl9wb3NpdGlvbiA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnICYmXG4gICAgICAgICAgICAgICAgICAgICAgKGAke3ZhbHVlfWAgPT09ICd0b3AnIHx8IGAke3ZhbHVlfWAgPT09ICdib3R0b20nKVxuICAgICAgICAgICAgICAgICAgICAgKSA/IHZhbHVlIDogJ2JvdHRvbSc7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU2VlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgbm9vcGVuZXI6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBfbGVhcm5Nb3JlOiBzdHJpbmc7XG4gIHByaXZhdGUgX2F3c29tZUNsb3NlSWNvbjogc3RyaW5nO1xuICBwcml2YXRlIF90YXJnZXQ6IENvb2tpZUxhd1RhcmdldDtcbiAgcHJpdmF0ZSBfcG9zaXRpb246IENvb2tpZUxhd1Bvc2l0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICkge1xuICAgIHRoaXMudHJhbnNpdGlvbiA9ICdib3R0b21Jbic7XG4gICAgdGhpcy5fcG9zaXRpb24gPSAnYm90dG9tJztcbiAgICB0aGlzLmNvb2tpZUxhd0NsYXNzID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5vb3BlbmVyID0gdGhpcy5fdGFyZ2V0ID09PSAnX2JsYW5rJztcbiAgICB0aGlzLnRyYW5zaXRpb24gPSB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/ICdib3R0b21JbicgOiAndG9wSW4nO1xuXG4gICAgaWYgKHRoaXMuX2F3c29tZUNsb3NlSWNvbikge1xuICAgICAgdGhpcy5jbG9zZVN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxuICAgICAgICBgPGkgY2xhc3M9XCJmYWIgJHt0aGlzLl9hd3NvbWVDbG9zZUljb259XCI+PC9pPmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlU3ZnID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY2xvc2VJY29uKTtcbiAgICB9XG5cblxuICAgIHRoaXMuY3VycmVudFN0eWxlcyA9IHtcbiAgICAgICd0b3AnOiB0aGlzLnBvc2l0aW9uID09PSAndG9wJyA/ICcwJyA6IG51bGwsXG4gICAgICAnYm90dG9tJzogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnaW5pdGlhbCcgOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWZ0ZXJEaXNtaXNzQW5pbWF0aW9uKGV2dDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZ0LnRvU3RhdGUgPT09ICd0b3BPdXQnIHx8XG4gICAgICAgIGV2dC50b1N0YXRlID09PSAnYm90dG9tT3V0Jykge1xuICAgICAgdGhpcy5pc1NlZW4uZW1pdCh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcyhldnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2dCkge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAndG9wT3V0JyA6ICdib3R0b21PdXQnO1xuICB9XG5cbn1cbiIsIi8qKlxuICogYW5ndWxhcjItY29va2llLWxhd1xuICpcbiAqIENvcHlyaWdodCAyMDE2LTIwMTgsIEBhbmRyZWFzb25ueTgzLCBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEBhdXRob3I6IEBhbmRyZWFzb25ueTgzIDxhbmRyZWFzb25ueTgzQGdtYWlsLmNvbT5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llTGF3Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb29raWVMYXdUYXJnZXQsIENvb2tpZUxhd1Bvc2l0aW9uIH0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nvb2tpZS1sYXcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxjb29raWUtbGF3LWNvbXBvbmVudCAqbmdJZj1cIiFzZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2F3c29tZUNsb3NlSWNvbl09XCJhd3NvbWVDbG9zZUljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGVhcm5Nb3JlXT1cImxlYXJuTW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0YXJnZXRdPVwidGFyZ2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGlzU2Vlbik9XCJoYXNCZWVuRGlzbWlzc2VkKClcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Nvb2tpZS1sYXctY29tcG9uZW50PlxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5zZWVuJylcbiAgcHVibGljIHNlZW46IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZChDb29raWVMYXdDb21wb25lbnQpXG4gIHB1YmxpYyBjb29raWVMYXdDb21wb25lbnQ6IENvb2tpZUxhd0NvbXBvbmVudDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsZWFybk1vcmU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFyZ2V0OiBDb29raWVMYXdUYXJnZXQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHBvc2l0aW9uOiBDb29raWVMYXdQb3NpdGlvbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwaXJhdGlvbjogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhd3NvbWVDbG9zZUljb246IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU2VlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgZ2V0IGNvb2tpZUxhd1NlZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29va2llTGF3U2VydmljZS5zZWVuKHRoaXMubmFtZSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvb2tpZUxhd1NlcnZpY2U6IEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSkge1xuICAgIHRoaXMubmFtZSA9ICdjb29raWVMYXdTZWVuJzsgLy8gc2V0IGEgZGVmYXVsdCBjb29raWUgbmFtZSBpZiBub3QgcHJvdmlkZWRcbiAgICB0aGlzLnNlZW4gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VlbiA9IHRoaXMuY29va2llTGF3U2VydmljZS5zZWVuKHRoaXMubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgaGFzQmVlbkRpc21pc3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc3RvcmVDb29raWUodGhpcy5uYW1lLCB0aGlzLmV4cGlyYXRpb24pO1xuICAgIHRoaXMuc2VlbiA9IHRydWU7XG4gICAgdGhpcy5pc1NlZW4uZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNtaXNzKCk6IHZvaWQge1xuICAgIHRoaXMuY29va2llTGF3Q29tcG9uZW50LmRpc21pc3MoKTtcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQ29va2llTGF3Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIENvb2tpZUxhd0NvbXBvbmVudCxcbiAgICBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb29raWVMYXdDb250YWluZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUxhd01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yIChAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IENvb2tpZUxhd01vZHVsZSkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nvb2tpZUxhd01vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seScpO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7SUFlUyx1Q0FBSTs7OztjQUFDLFVBQW9DO1FBQXBDLDJCQUFBLEVBQUEsNEJBQW9DO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzs7Ozs7OztJQUdqQyw4Q0FBVzs7Ozs7Y0FBQyxVQUFrQixFQUFFLFVBQW1CO1FBQ3hELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Ozs7OztJQUd4QyxnREFBYTs7OztjQUFDLElBQVk7UUFDaEMscUJBQU0sRUFBRSxHQUFrQixRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxxQkFBTSxLQUFLLEdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxxQkFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUM5QixxQkFBSSxDQUFTLENBQUM7UUFFZCxLQUFLLHFCQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMs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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjItY29va2llLWxhdy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlLnRzIiwibmc6Ly9hbmd1bGFyMi1jb29raWUtbGF3L2xpYi9pY29ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5pbWF0aW9ucy50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXIyLWNvb2tpZS1sYXcvbGliL2FuZ3VsYXIyLWNvb2tpZS1sYXctY29udGFpbmVyLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjItY29va2llLWxhdy9saWIvYW5ndWxhcjItY29va2llLWxhdy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcjJDb29raWVMYXdTZXJ2aWNlIHtcbiAgcHVibGljIHNlZW4oY29va2llTmFtZTogc3RyaW5nID0gJ2Nvb2tpZUxhd1NlZW4nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29va2llczogQXJyYXk8c3RyaW5nPiA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xuXG4gICAgcmV0dXJuIHRoaXMuY29va2llRXhpc2l0cyhjb29raWVOYW1lLCBjb29raWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9yZUNvb2tpZShjb29raWVOYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb29raWUoY29va2llTmFtZSwgZXhwaXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGNvb2tpZUV4aXNpdHMobmFtZTogc3RyaW5nLCBjb29raWVzOiBBcnJheTxzdHJpbmc+KTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29va2llTmFtZSA9IGAke25hbWV9PWA7XG5cbiAgICByZXR1cm4gY29va2llcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+XG4gICAgICBwcmV2IHx8IGN1cnIudHJpbSgpLnNlYXJjaChjb29raWVOYW1lKSA+IC0xLCBmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIGV4cGlyYXRpb24/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBub3c6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGV4cDogRGF0ZSA9IG5ldyBEYXRlKG5vdy5nZXRUaW1lKCkgKyBleHBpcmF0aW9uICogODY0MDAwMDApO1xuXG4gICAgY29uc3QgY29va2llU3RyaW5nID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpICtcbiAgICAgIGA9dHJ1ZTtwYXRoPS87ZXhwaXJlcz0ke2V4cC50b1VUQ1N0cmluZygpfTtgO1xuXG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llU3RyaW5nO1xuICB9XG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuZXhwb3J0IGNvbnN0IGNsb3NlSWNvbiA9IGBcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MTIgNTEyXCI+XG4gICAgPHBhdGggZD1cIk0zNzcuMDQ3IDE4NC4xOThxMCA4LjI2LTYuMDM3IDE0LjI5N0wzMTMuNTA1IDI1Nmw1Ny41MDUgNTcuNTA1cTYuMDM3IDYuMDM3IDYuMDM3IDE0LjI5NyAwIDguNTc4LTYuMDM3XG4gICAgICAxNC42MTVsLTI4LjU5MyAyOC41OTNxLTYuMDM3IDYuMDM3LTE0LjYxNSA2LjAzNy04LjI2IDAtMTQuMjk3LTYuMDM3TDI1NiAzMTMuNTA1bC01Ny41MDUgNTcuNTA1cS02LjAzN1xuICAgICAgNi4wMzctMTQuMjk3IDYuMDM3LTguNTc4IDAtMTQuNjE1LTYuMDM3bC0yOC41OTMtMjguNTkzcS02LjAzNy02LjAzNy02LjAzNy0xNC42MTUgMC04LjI2IDYuMDM3LTE0LjI5N0wxOTguNDk1XG4gICAgICAyNTZsLTU3LjUwNS01Ny41MDVxLTYuMDM3LTYuMDM3LTYuMDM3LTE0LjI5NyAwLTguNTc4IDYuMDM3LTE0LjYxNWwyOC41OTMtMjguNTkzcTYuMDM3LTYuMDM3IDE0LjYxNS02LjAzNyA4LjI2IDBcbiAgICAgIDE0LjI5NyA2LjAzN0wyNTYgMTk4LjQ5NWw1Ny41MDUtNTcuNTA1cTYuMDM3LTYuMDM3IDE0LjI5Ny02LjAzNyA4LjU3OCAwIDE0LjYxNSA2LjAzN2wyOC41OTMgMjguNTkzcTYuMDM3IDYuMDM3XG4gICAgICA2LjAzNyAxNC42MTV6TTUwMCAyNTZxMC02Ni40MDEtMzIuNzI0LTEyMi40NzctMzIuNzI0LTU2LjA3NS04OC43OTktODguNzk5UTMyMi40MDEgMTIgMjU2IDEycS02Ni40MDEgMC0xMjIuNDc3XG4gICAgICAzMi43MjQtNTYuMDc1IDMyLjcyNC04OC43OTkgODguNzk5UTEyIDE4OS41OTkgMTIgMjU2cTAgNjYuNDAxIDMyLjcyNCAxMjIuNDc3IDMyLjcyNCA1Ni4wNzUgODguNzk5IDg4Ljc5OVExODkuNTk5XG4gICAgICA1MDAgMjU2IDUwMHE2Ni40MDEgMCAxMjIuNDc3LTMyLjcyNCA1Ni4wNzUtMzIuNzI0IDg4Ljc5OS04OC43OTlRNTAwIDMyMi40MDEgNTAwIDI1NnpcIj48L3BhdGg+XG4gIDwvc3ZnPmA7XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgdHJpZ2dlcixcbiAgc3RhdGUsXG4gIHN0eWxlLFxuICBhbmltYXRlLFxuICB0cmFuc2l0aW9uLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlSW5PdXQ6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YSA9XG4gIHRyaWdnZXIoJ3RyYW5zaXRpb24nLCBbXG4gICAgc3RhdGUoJyonLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKSxcbiAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScgfSkpLFxuXG4gICAgc3RhdGUoJ2JvdHRvbU91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDAlKScgfSkpLFxuICAgIHN0YXRlKCd0b3BPdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJyB9KSksXG5cbiAgICB0cmFuc2l0aW9uKCd2b2lkID0+IHRvcEluJywgW1xuICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVZKC0xMDAlKScgfSksXG4gICAgICBhbmltYXRlKCcxMDAwbXMgZWFzZS1pbi1vdXQnKSxcbiAgICBdKSxcblxuICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gYm90dG9tSW4nLCBbXG4gICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMTAwJSknIH0pLFxuICAgICAgYW5pbWF0ZSgnMTAwMG1zIGVhc2UtaW4tb3V0JyksXG4gICAgXSksXG5cbiAgICB0cmFuc2l0aW9uKCcqID0+IConLCBhbmltYXRlKCcxMDAwbXMgZWFzZS1vdXQnKSksXG4gIF0pO1xuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBIb3N0QmluZGluZyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgY2xvc2VJY29uIH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgeyB0cmFuc2xhdGVJbk91dCB9IGZyb20gJy4vYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb29raWVMYXdBbmltYXRpb24sIENvb2tpZUxhd1RhcmdldCwgQ29va2llTGF3UG9zaXRpb24gfSBmcm9tICcuL2RlZmluaXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29va2llLWxhdy1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJjb29raWUtbGF3LXdyYXBwZXJcIlxuICAgIFtuZ1N0eWxlXT1cImN1cnJlbnRTdHlsZXNcIlxuICAgIFtAdHJhbnNpdGlvbl09XCJ0cmFuc2l0aW9uXCJcbiAgICAoQHRyYW5zaXRpb24uZG9uZSk9XCJhZnRlckRpc21pc3NBbmltYXRpb24oJGV2ZW50KVwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb3B5XCI+XG4gICAgPHNwYW4gI3JlZj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG4gICAgPHNwYW4gKm5nSWY9XCJyZWYuY2hpbGROb2Rlcy5sZW5ndGggPT0gMFwiPlxuICAgICAgQnkgY29udGludWluZyB0byBicm93c2UgdGhlIHNpdGUsIHlvdSdyZSBhZ3JlZWluZyB0byBvdXIgdXNlIG9mIGNvb2tpZXMuXG4gICAgICA8c3BhbiAqbmdJZj1cImxlYXJuTW9yZVwiPlxuICAgICAgICBMZWFybiBtb3JlIGluIG91ciA8YSBbaHJlZl09XCJsZWFybk1vcmVcIiBbdGFyZ2V0XT1cInRhcmdldFwiIFtyZWxdPVwibm9vcGVuZXIgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiBudWxsXCI+cHJpdmFjeSBwb2xpY3k8L2E+LlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cblxuICAgIDxhIGhyZWY9XCIjXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkaXNtaXNzXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNsb3NlU3ZnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcygkZXZlbnQpXCI+PC9hPlxuPC9kaXY+XG5gLFxuICBzdHlsZXM6IFtgLmNvb2tpZS1sYXctd3JhcHBlcntiYWNrZ3JvdW5kOiMzMzM7Y29sb3I6I2JiYjtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OkhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNXB4O2ZvbnQtd2VpZ2h0OjIwMDtsaW5lLWhlaWdodDoyMHB4O3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO3otaW5kZXg6OTk5OTk5OTk5O2ZvbnQtc21vb3RoOmFsd2F5czstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfS5jb29raWUtbGF3LXdyYXBwZXIgYXtjb2xvcjojYmJiO3RyYW5zaXRpb246Y29sb3IgLjJzfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3Zlcntjb2xvcjojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgYTpob3ZlciBzdmd7ZmlsbDojZmZmfS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjEwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6MjBweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3tkaXNwbGF5OmJsb2NrO2ZpbGw6I2JiYjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RyYW5zaXRpb246ZmlsbCAuMnN9LmNvb2tpZS1sYXctd3JhcHBlciAuY29weXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxMHB4IDYwcHggMTBweCAxMHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmNvcHkgc3Bhbntjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjQwMH0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uY29va2llLWxhdy13cmFwcGVyIC5jb3B5IGE6YWN0aXZlLC5jb3B5IGE6aG92ZXJ7b3V0bGluZTowfUBtZWRpYSAobWluLXdpZHRoOjYwMHB4KXsuY29va2llLWxhdy13cmFwcGVyIC5jb3B5e3BhZGRpbmc6MjBweCA2MHB4IDIwcHggMjBweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS5jb29raWUtbGF3LXdyYXBwZXIgLmRpc21pc3N7dG9wOjEwcHg7cmlnaHQ6MTVweH0uY29va2llLWxhdy13cmFwcGVyIC5kaXNtaXNzIHN2Z3t3aWR0aDoyNHB4O2hlaWdodDoyNHB4fX1gXSxcbiAgYW5pbWF0aW9uczogW3RyYW5zbGF0ZUluT3V0XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgY2xvc2VTdmc6IFNhZmVIdG1sO1xuICBwdWJsaWMgY3VycmVudFN0eWxlczogYW55O1xuICBwdWJsaWMgdHJhbnNpdGlvbjogQ29va2llTGF3QW5pbWF0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY29va2llLWxhdycpXG4gIHB1YmxpYyBjb29raWVMYXdDbGFzczogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBnZXQgbGVhcm5Nb3JlKCkgeyByZXR1cm4gdGhpcy5fbGVhcm5Nb3JlOyB9XG4gIHNldCBsZWFybk1vcmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2xlYXJuTW9yZSA9ICh2YWx1ZSAhPT0gbnVsbCAmJiBgJHt2YWx1ZX1gICE9PSAnZmFsc2UnKSA/IHZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBhd3NvbWVDbG9zZUljb24oKSB7IHJldHVybiB0aGlzLl9hd3NvbWVDbG9zZUljb247IH1cbiAgc2V0IGF3c29tZUNsb3NlSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fYXdzb21lQ2xvc2VJY29uID0gKHZhbHVlICE9PSBudWxsICYmIGAke3ZhbHVlfWAgIT09ICdmYWxzZScpID8gdmFsdWUgOiBudWxsO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHRhcmdldCgpIHsgcmV0dXJuIHRoaXMuX3RhcmdldDsgfVxuICBzZXQgdGFyZ2V0KHZhbHVlOiBDb29raWVMYXdUYXJnZXQpIHtcbiAgICB0aGlzLl90YXJnZXQgPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAnX2JsYW5rJyB8fCBgJHt2YWx1ZX1gID09PSAnX3NlbGYnKVxuICAgICAgICAgICAgICAgICAgICAgKSA/IHZhbHVlIDogJ19ibGFuayc7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcG9zaXRpb24oKSB7IHJldHVybiB0aGlzLl9wb3NpdGlvbjsgfVxuICBzZXQgcG9zaXRpb24odmFsdWU6IENvb2tpZUxhd1Bvc2l0aW9uKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSAodmFsdWUgIT09IG51bGwgJiYgYCR7dmFsdWV9YCAhPT0gJ2ZhbHNlJyAmJlxuICAgICAgICAgICAgICAgICAgICAgIChgJHt2YWx1ZX1gID09PSAndG9wJyB8fCBgJHt2YWx1ZX1gID09PSAnYm90dG9tJylcbiAgICAgICAgICAgICAgICAgICAgICkgPyB2YWx1ZSA6ICdib3R0b20nO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIG5vb3BlbmVyOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2xlYXJuTW9yZTogc3RyaW5nO1xuICBwcml2YXRlIF9hd3NvbWVDbG9zZUljb246IHN0cmluZztcbiAgcHJpdmF0ZSBfdGFyZ2V0OiBDb29raWVMYXdUYXJnZXQ7XG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBDb29raWVMYXdQb3NpdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICApIHtcbiAgICB0aGlzLnRyYW5zaXRpb24gPSAnYm90dG9tSW4nO1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgdGhpcy5jb29raWVMYXdDbGFzcyA9IHRydWU7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ub29wZW5lciA9IHRoaXMuX3RhcmdldCA9PT0gJ19ibGFuayc7XG4gICAgdGhpcy50cmFuc2l0aW9uID0gdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbScgPyAnYm90dG9tSW4nIDogJ3RvcEluJztcblxuICAgIGlmICh0aGlzLl9hd3NvbWVDbG9zZUljb24pIHtcbiAgICAgIHRoaXMuY2xvc2VTdmcgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcbiAgICAgICAgYDxpIGNsYXNzPVwiZmFiICR7dGhpcy5fYXdzb21lQ2xvc2VJY29ufVwiPjwvaT5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZVN2ZyA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGNsb3NlSWNvbik7XG4gICAgfVxuXG5cbiAgICB0aGlzLmN1cnJlbnRTdHlsZXMgPSB7XG4gICAgICAndG9wJzogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnMCcgOiBudWxsLFxuICAgICAgJ2JvdHRvbSc6IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ2luaXRpYWwnIDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFmdGVyRGlzbWlzc0FuaW1hdGlvbihldnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2dC50b1N0YXRlID09PSAndG9wT3V0JyB8fFxuICAgICAgICBldnQudG9TdGF0ZSA9PT0gJ2JvdHRvbU91dCcpIHtcbiAgICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc21pc3MoZXZ0PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQpIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHRoaXMudHJhbnNpdGlvbiA9IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ3RvcE91dCcgOiAnYm90dG9tT3V0JztcbiAgfVxuXG59XG4iLCIvKipcbiAqIGFuZ3VsYXIyLWNvb2tpZS1sYXdcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNi0yMDE4LCBAYW5kcmVhc29ubnk4MywgQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBAYXV0aG9yOiBAYW5kcmVhc29ubnk4MyA8YW5kcmVhc29ubnk4M0BnbWFpbC5jb20+XG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFuZ3VsYXIyQ29va2llTGF3U2VydmljZSB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5zZXJ2aWNlJztcbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3VGFyZ2V0LCBDb29raWVMYXdQb3NpdGlvbiB9IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjb29raWUtbGF3JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Y29va2llLWxhdy1jb21wb25lbnQgKm5nSWY9XCIhc2VlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFthd3NvbWVDbG9zZUljb25dPVwiYXdzb21lQ2xvc2VJY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlYXJuTW9yZV09XCJsZWFybk1vcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInRhcmdldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvbl09XCJwb3NpdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChpc1NlZW4pPVwiaGFzQmVlbkRpc21pc3NlZCgpXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9jb29raWUtbGF3LWNvbXBvbmVudD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuc2VlbicpXG4gIHB1YmxpYyBzZWVuOiBib29sZWFuO1xuXG4gIEBWaWV3Q2hpbGQoQ29va2llTGF3Q29tcG9uZW50KVxuICBwdWJsaWMgY29va2llTGF3Q29tcG9uZW50OiBDb29raWVMYXdDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGVhcm5Nb3JlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHRhcmdldDogQ29va2llTGF3VGFyZ2V0O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwb3NpdGlvbjogQ29va2llTGF3UG9zaXRpb247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGV4cGlyYXRpb246IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXdzb21lQ2xvc2VJY29uOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpc1NlZW4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGdldCBjb29raWVMYXdTZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb29raWVMYXdTZXJ2aWNlOiBBbmd1bGFyMkNvb2tpZUxhd1NlcnZpY2UpIHtcbiAgICB0aGlzLm5hbWUgPSAnY29va2llTGF3U2Vlbic7IC8vIHNldCBhIGRlZmF1bHQgY29va2llIG5hbWUgaWYgbm90IHByb3ZpZGVkXG4gICAgdGhpcy5zZWVuID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlZW4gPSB0aGlzLmNvb2tpZUxhd1NlcnZpY2Uuc2Vlbih0aGlzLm5hbWUpO1xuICB9XG5cbiAgcHVibGljIGhhc0JlZW5EaXNtaXNzZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jb29raWVMYXdTZXJ2aWNlLnN0b3JlQ29va2llKHRoaXMubmFtZSwgdGhpcy5leHBpcmF0aW9uKTtcbiAgICB0aGlzLnNlZW4gPSB0cnVlO1xuICAgIHRoaXMuaXNTZWVuLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzcygpOiB2b2lkIHtcbiAgICB0aGlzLmNvb2tpZUxhd0NvbXBvbmVudC5kaXNtaXNzKCk7XG4gIH1cblxufVxuIiwiLyoqXG4gKiBhbmd1bGFyMi1jb29raWUtbGF3XG4gKlxuICogQ29weXJpZ2h0IDIwMTYtMjAxOCwgQGFuZHJlYXNvbm55ODMsIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQGF1dGhvcjogQGFuZHJlYXNvbm55ODMgPGFuZHJlYXNvbm55ODNAZ21haWwuY29tPlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IENvb2tpZUxhd0NvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhcjItY29va2llLWxhdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyMi1jb29raWUtbGF3LWNvbnRhaW5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBDb29raWVMYXdDb21wb25lbnQsXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29va2llTGF3Q29udGFpbmVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDb29raWVMYXdNb2R1bGUge1xuICBjb25zdHJ1Y3RvciAoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb29raWVMYXdNb2R1bGUpIHtcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDb29raWVMYXdNb2R1bGUgaXMgYWxyZWFkeSBsb2FkZWQuIEltcG9ydCBpdCBpbiB0aGUgQXBwTW9kdWxlIG9ubHknKTtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0lBY1MsdUNBQUk7Ozs7Y0FBQyxVQUFvQztRQUFwQywyQkFBQSxFQUFBLDRCQUFvQztRQUM5QyxxQkFBTSxPQUFPLEdBQWtCLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTFELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7Ozs7SUFHMUMsOENBQVc7Ozs7O2NBQUMsVUFBa0IsRUFBRSxVQUFtQjtRQUN4RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDOzs7Ozs7O0lBR3hDLGdEQUFhOzs7OztjQUFDLElBQVksRUFBRSxPQUFzQjtRQUN4RCxxQkFBTSxVQUFVLEdBQU0sSUFBSSxNQUFHLENBQUM7UUFFOUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQUMsSUFBSSxFQUFFLElBQUk7WUFDL0IsT0FBQSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FBQSxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7O0lBR2hELDRDQUFTOzs7OztjQUFDLElBQVksRUFBRSxVQUFtQjtRQUNqRCxxQkFBTSxHQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUM3QixxQkFBTSxHQUFHLEdBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUVsRSxxQkFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO2FBQzNDLDBCQUF3QixHQUFHLENBQUMsV0FBVyxFQUFFLE1BQUcsQ0FBQSxDQUFDO1FBRS9DLFFBQVEsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDOzs7Z0JBNUJsQyxVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7bUNBWkQ7Ozs7Ozs7Ozs7Ozs7O0FDUUEsQUFBTyxxQkFBTSxTQUFTLEdBQUcsdytCQVVoQixDQUFDOzs7Ozs7cUJDREcsY0FBYyxHQUN6QixPQUFPLENBQUMsWUFBWSxFQUFFO0lBQ3BCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDakQsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUVwRCxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDNUQsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBRTFELFVBQVUsQ0FBQyxlQUFlLEVBQUU7UUFDMUIsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0tBQzlCLENBQUM7SUFFRixVQUFVLENBQUMsa0JBQWtCLEVBQUU7UUFDN0IsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0tBQzlCLENBQUM7SUFFRixVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0NBQ2pELENBQUM7Ozs7Ozs7SUM2REYsNEJBQ1U7UUFBQSxpQkFBWSxHQUFaLFlBQVk7c0JBVk4sSUFBSSxZQUFZLEVBQVc7UUFZekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7S0FDNUI7MEJBM0NHLHlDQUFTOzs7O3NCQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQzs7Ozs7UUFDekMsVUFBYyxLQUFhO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUcsS0FBTyxLQUFLLE9BQU8sSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQzdFOzs7OzBCQUdHLCtDQUFlOzs7O3NCQUFLLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDOzs7OztRQUNyRCxVQUFvQixLQUFhO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBRyxLQUFPLEtBQUssT0FBTyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDbkY7Ozs7MEJBR0csc0NBQU07Ozs7c0JBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDOzs7OztRQUNuQyxVQUFXLEtBQXNCO1lBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUcsS0FBTyxLQUFLLE9BQU87aUJBQ3JDLEtBQUcsS0FBTyxLQUFLLFFBQVEsSUFBSSxLQUFHLEtBQU8sS0FBSyxPQUFPLENBQUMsSUFDaEQsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUN2Qzs7OzswQkFHRyx3Q0FBUTs7OztzQkFBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7Ozs7O1FBQ3ZDLFVBQWEsS0FBd0I7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksS0FBRyxLQUFPLEtBQUssT0FBTztpQkFDdkMsS0FBRyxLQUFPLEtBQUssS0FBSyxJQUFJLEtBQUcsS0FBTyxLQUFLLFFBQVEsQ0FBQyxJQUM5QyxLQUFLLEdBQUcsUUFBUSxDQUFDO1NBQ3ZDOzs7Ozs7O0lBb0JNLHFDQUFROzs7O1FBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxHQUFHLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFFcEUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUN2RCxvQkFBaUIsSUFBSSxDQUFDLGdCQUFnQixZQUFRLENBQUMsQ0FBQztTQUNuRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RFO1FBR0QsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUk7WUFDM0MsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxHQUFHLFNBQVMsR0FBRyxJQUFJO1NBQ3JELENBQUM7Ozs7OztJQUdHLGtEQUFxQjs7OztjQUFDLEdBQW1CO1FBQzlDLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxRQUFRO1lBQ3hCLEdBQUcsQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCOzs7Ozs7SUFHSSxvQ0FBTzs7OztjQUFDLEdBQWdCO1FBQzdCLElBQUksR0FBRyxFQUFFO1lBQ1AsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssR0FBRyxRQUFRLEdBQUcsV0FBVyxDQUFDOzs7Z0JBaEh0RSxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLHd1QkFvQlg7b0JBQ0MsTUFBTSxFQUFFLENBQUMseW1DQUF5bUMsQ0FBQztvQkFDbm5DLFVBQVUsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDNUIsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzs7O2dCQWhDUSxZQUFZOzs7bUNBdUNsQixXQUFXLFNBQUMsa0JBQWtCOzhCQUc5QixLQUFLO29DQU1MLEtBQUs7MkJBTUwsS0FBSzs2QkFRTCxLQUFLOzJCQVFMLE1BQU07OzZCQXZGVDs7Ozs7Ozs7SUNvRUUscUNBQW9CLGdCQUEwQztRQUExQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO3NCQU45QyxJQUFJLFlBQVksRUFBVztRQU96QyxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztLQUNsQjswQkFQVSxzREFBYTs7Ozs7WUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Ozs7Ozs7SUFReEMsOENBQVE7Ozs7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OztJQUc3QyxzREFBZ0I7Ozs7UUFDckIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Ozs7SUFHbEIsNkNBQU87Ozs7UUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7OztnQkE5RHJDLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLG1ZQVNUO2lCQUNGOzs7O2dCQWhCUSx3QkFBd0I7Ozt5QkFtQjlCLFdBQVcsU0FBQyxXQUFXO3VDQUd2QixTQUFTLFNBQUMsa0JBQWtCO3lCQUc1QixLQUFLOzhCQUdMLEtBQUs7MkJBR0wsS0FBSzs2QkFHTCxLQUFLOytCQUdMLEtBQUs7b0NBR0wsS0FBSzsyQkFHTCxNQUFNOztzQ0E3RFQ7Ozs7Ozs7O0lDMkJFLHlCQUFxQztRQUNuQyxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLG9FQUFvRSxDQUFDLENBQUM7U0FDekU7S0FDRjs7Z0JBbEJGLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7cUJBQzVCO2lCQUNGOzs7O2dCQUNZLGVBQWUsdUJBQ1osUUFBUSxZQUFJLFFBQVE7OzBCQTNCcEM7Ozs7Ozs7Ozs7Ozs7OzsifQ==
export declare class Angular2CookieLawService {
seen(cookieName?: string): boolean;
storeCookie(cookieName: string, expiration?: number): void;
private cookieExisits(name);
private cookieExisits(name, cookies);
private setCookie(name, expiration?);
}

@@ -25,3 +25,3 @@ {

"homepage": "https://github.com/andreasonny83/angular2-cookie-law#readme",
"version": "6.0.3",
"version": "6.0.4",
"peerDependencies": {

@@ -28,0 +28,0 @@ "@angular/common": "^6.0.0-rc.0 || ^6.0.0",

@@ -169,3 +169,3 @@ [![Build Status](https://travis-ci.org/andreasonny83/angular2-cookie-law.svg?branch=master)](https://travis-ci.org/andreasonny83/angular2-cookie-law)

Font Awsome is required in your header for this feature to work.
[Font Awesome](https://fontawesome.com/) is required in your header for this feature to work.

@@ -180,3 +180,3 @@ ```html

If set to a Font awsome Icon e.g. "fa-window-close" it will replace the standard SVG with the Font awsome Icon.
If set to a Font awesome Icon e.g. "fa-window-close" it will replace the standard SVG with the Font awesome Icon.

@@ -183,0 +183,0 @@ ###### Example

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc