{"id":346757,"date":"2026-09-01T16:15:05","date_gmt":"2026-09-01T19:15:05","guid":{"rendered":"https:\/\/mkt.estrategia.com\/cj\/pacotes\/"},"modified":"2026-09-22T01:22:01","modified_gmt":"2026-09-22T04:22:01","slug":"pacotes","status":"publish","type":"page","link":"https:\/\/mkt.estrategia.com\/cj\/pacotes\/","title":{"rendered":"Pacotes ECJ"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_row _builder_version=&#8221;4.16&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243;][et_pb_text _builder_version=&#8221;4.16&#8243;]<\/p>\n<div id=\"lp-host\"><\/div>\n<p><script id=\"lp-payload\" type=\"text\/plain\">PGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M\/ZmFtaWx5PVJhbGV3YXk6NDAwLDQwMGksNTAwLDUwMGksNzAwLDcwMGklN0NQb3BwaW5zOjQwMCw2MDAlN0NPcGVuK1NhbnM6NDAwLDcwMCw2MDAsNDAwaSw3MDBpIiByZWw9InN0eWxlc2hlZXQiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuZXN0cmF0ZWdpYWNvbmN1cnNvcy5jb20uYnIvYXNzZXRzL2Nzcy9zdHlsZS5taW4uY3NzIj48bGluayByZWw9InByZWNvbm5lY3QiIGhyZWY9Imh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iPjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDMwMDs0MDA7NzAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij48c3R5bGU+Ci8qID09PT09PT09PT09PT09PT09IE92ZXJyaWRlIGRvIHRlbWEgKERpdmkgKyBlc3RyYXRlZ2lhX2dyYXRpcykgPT09PT09PT09PT09PT09PT0KICAgRXN0ZSBibG9jbyBlbnRyYSBBTlRFUyBkbyBDU1MgZGEgTFAsIGRlbnRybyBkZSB1bSA8c3R5bGU+IG5vIGNvcnBvIGRhIHBhZ2UsCiAgIGVudGFvIGVsZSB2ZW0gZGVwb2lzIGRlIHRvZG8gPGxpbms+LzxzdHlsZT4gZG8gdGVtYSBuYSBvcmRlbSBkbyBkb2N1bWVudG8uCiAgIFJlZ3JhIHByYXRpY2E6IHVzYXIgYSBNRU5PUiBlc3BlY2lmaWNpZGFkZSBxdWUgYWluZGEgdmVuY2UgbyB0ZW1hLCBwYXJhIHF1ZQogICBxdWFscXVlciByZWdyYSBkYSBwcm9wcmlhIExQIGNvbnRpbnVlIGdhbmhhbmRvLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLmV0LWwtLWhlYWRlciwuZXQtbC0tZm9vdGVyLCNtYWluLWhlYWRlciwjdG9wLWhlYWRlciwjbWFpbi1mb290ZXIsI3dwYWRtaW5iYXIsLmVudHJ5LXRpdGxlLCNzaWRlYmFye2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9CiNwYWdlLWNvbnRhaW5lciwjZXQtbWFpbi1hcmVhLCNtYWluLWNvbnRlbnQsLmV0X2J1aWxkZXJfaW5uZXJfY29udGVudCxhcnRpY2xlLC5lbnRyeS1jb250ZW50LC5ldF9wYl9zZWN0aW9uLC5ldF9wYl9yb3csLmV0X3BiX2NvbHVtbiwuZXRfcGJfdGV4dCwuZXRfcGJfdGV4dF9pbm5lcntwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDttYXgtd2lkdGg6bm9uZSFpbXBvcnRhbnQ7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudCFpbXBvcnRhbnR9Cmh0bWwsYm9keXtvdmVyZmxvdy14OmhpZGRlbiFpbXBvcnRhbnR9CmJvZHk6bm90KC5ldC10YikgI21haW4tY29udGVudCAuY29udGFpbmVyLGJvZHk6bm90KC5ldC10Yi1oYXMtaGVhZGVyKSAjbWFpbi1jb250ZW50IC5jb250YWluZXJ7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9CiNtYWluLWNvbnRlbnQgLmNvbnRhaW5lcjpiZWZvcmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0KCi8qIGVzdHJhdGVnaWFfZ3JhdGlzIHRyYXZhIC5jb250YWluZXIgZW0gbWluLXdpZHRoIDY0MC8zNTUvMzEwIG5vIG1vYmlsZSAqLwojbHAtaG9zdCAuY29udGFpbmVye21pbi13aWR0aDowIWltcG9ydGFudDttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7dGV4dC1hbGlnbjppbmhlcml0IWltcG9ydGFudH0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjM2MHB4KXsjbHAtaG9zdCAuY29udGFpbmVye2Rpc3BsYXk6YmxvY2t9fQojbHAtaG9zdCAuY2FyZCBidXR0b24gLmNvbnRhaW5lcntkaXNwbGF5OmZsZXh9CgovKiBvIGNoaWxkIHRoZW1lIG1hdGEgbyBjbGVhcmZpeCBkbyBib290c3RyYXAgKi8KI2xwLWhvc3QgLnJvdzphZnRlciwjbHAtaG9zdCAucm93OmJlZm9yZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudDtjb250ZW50OiIgIiFpbXBvcnRhbnR9CiNscC1ob3N0IC5yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aCFpbXBvcnRhbnR9CgovKiBEaXZpIGFuaW1hL29jdWx0YSBlbGVtZW50b3MgY29tIHdheXBvaW50ICovCiNscC1ob3N0IC5ldC13YXlwb2ludCwjbHAtaG9zdCAuZXRfcGJfc2Nyb2xsX2FuaW1hdGlvbntvcGFjaXR5OjEhaW1wb3J0YW50O3RyYW5zZm9ybTpub25lIWltcG9ydGFudH0KCi8qIC0tLSBwcm9wcmllZGFkZXMgcXVlIG8gdGVtYSBkZWNsYXJhIGUgYSBmb2xoYSBkYSBMUCBuYW8sIGVudGFvIHZhemFtIC0tLQogICBMZXZhbnRhZGFzIGNvbSBwcm9iZTIuanMgKGxpc3RhIGFzIHJlZ3JhcyBxdWUgYmF0ZW0gZW0gY2FkYSBlbGVtZW50byksCiAgIGNvbXBhcmFuZG8gY29tcHV0ZWQgc3R5bGVzIGNvbSBodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvIC4gICAqLwoKLyogRGl2aTogaDEuLmg2e3BhZGRpbmctYm90dG9tOjEwcHh9IGUgcHtwYWRkaW5nLWJvdHRvbToxZW19ICovCmgxLGgyLGgzLGg0LGg1LGg2LHB7cGFkZGluZy1ib3R0b206MH0KCi8qIERpdmk6IGJvZHl7Zm9udC13ZWlnaHQ6NTAwfTsgbmEgb3JpZ2VtIG8gcGVzbyBoZXJkYWRvIGUgbyBub3JtYWwgKi8KYm9keXtmb250LXdlaWdodDo0MDB9CgovKiA8c3R5bGUgaWQ9ImVzdHJhdGVnaWEtY3JpdGljYWwtY3NzIj4gZG8gc2l0ZTogImEuYnV0dG9uLCBidXR0b24iIGdhbmhhCiAgIHBhZGRpbmcgMTBweCAyMHB4ICsgYm9yZGVyLXJhZGl1cyA0cHgsIG8gcXVlIGVuZ29yZGEgMThweCBjYWRhIGNhYmVjYWxobwogICBkZSBhY2NvcmRpb24uIE5hIG9yaWdlbSBvIGJvdGFvIGZpY2Egbm8gZGVmYXVsdCBkbyBicm93c2VyLiAqLwpidXR0b257cGFkZGluZzoxcHggNnB4O2JvcmRlci1yYWRpdXM6MH0KCi8qIHRpcG9ncmFmaWEgZ2xvYmFsIGRvIHNpdGU6IHB7Zm9udC1zaXplOjFyZW19IC0+IDFyZW0gPSAxMHB4IHBvciBjYXVzYSBkbwogICBodG1se2ZvbnQtc2l6ZToxMHB4fSBkbyBib290c3RyYXAuIE5hIG9yaWdlbSBvIDxwPiBoZXJkYSBkbyBib2R5ICgxNHB4KS4gKi8KcHtmb250LXNpemU6aW5oZXJpdH0KCi8qIERpdmk6ICIuZW50cnktY29udGVudCB1bC9vbCIgZ2FuaGEgbGluZS1oZWlnaHQ6MjZweCArIHBhZGRpbmctYm90dG9tOjIzcHgsCiAgIGUgIi5ldF9wYl90ZXh0IHVsL29sIiBnYW5oYSBwYWRkaW5nLWJvdHRvbToxZW0gKi8KLmVudHJ5LWNvbnRlbnQgdWwsLmVudHJ5LWNvbnRlbnQgb2wsLmV0LWwtLWJvZHkgdWwsLmV0LWwtLWJvZHkgb2wsLmV0X3BiX3RleHQgdWwsLmV0X3BiX3RleHQgb2x7cGFkZGluZy1ib3R0b206MDtsaW5lLWhlaWdodDppbmhlcml0fQoNCi8qIGJvb3RzdHJhcC5jc3MgKi8NCg0KLyohDQogKiBCb290c3RyYXAgdjMuMy43IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSkNCiAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLg0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLw0KLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqLw0KaHRtbCB7DQogICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7DQogICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOw0KICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsNCiAgfQ0KICBib2R5IHsNCiAgICBtYXJnaW46IDA7DQogIH0NCiAgYXJ0aWNsZSwNCiAgYXNpZGUsDQogIGRldGFpbHMsDQogIGZpZ2NhcHRpb24sDQogIGZpZ3VyZSwNCiAgZm9vdGVyLA0KICBoZWFkZXIsDQogIGhncm91cCwNCiAgbWFpbiwNCiAgbWVudSwNCiAgbmF2LA0KICBzZWN0aW9uLA0KICBzdW1tYXJ5IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICBhdWRpbywNCiAgY2FudmFzLA0KICBwcm9ncmVzcywNCiAgdmlkZW8gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7DQogIH0NCiAgYXVkaW86bm90KFtjb250cm9sc10pIHsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIGhlaWdodDogMDsNCiAgfQ0KICBbaGlkZGVuXSwNCiAgdGVtcGxhdGUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgYSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgYTphY3RpdmUsDQogIGE6aG92ZXIgew0KICAgIG91dGxpbmU6IDA7DQogIH0NCiAgYWJiclt0aXRsZV0gew0KICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7DQogIH0NCiAgYiwNCiAgc3Ryb25nIHsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICBkZm4gew0KICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgfQ0KICBoMSB7DQogICAgbWFyZ2luOiAuNjdlbSAwOw0KICAgIGZvbnQtc2l6ZTogMmVtOw0KICB9DQogIG1hcmsgew0KICAgIGNvbG9yOiAjMDAwOw0KICAgIGJhY2tncm91bmQ6ICNmZjA7DQogIH0NCiAgc21hbGwgew0KICAgIGZvbnQtc2l6ZTogODAlOw0KICB9DQogIHN1YiwNCiAgc3VwIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZm9udC1zaXplOiA3NSU7DQogICAgbGluZS1oZWlnaHQ6IDA7DQogICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOw0KICB9DQogIHN1cCB7DQogICAgdG9wOiAtLjVlbTsNCiAgfQ0KICBzdWIgew0KICAgIGJvdHRvbTogLS4yNWVtOw0KICB9DQogIGltZyB7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIHN2Zzpub3QoOnJvb3QpIHsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICB9DQogIGZpZ3VyZSB7DQogICAgbWFyZ2luOiAxZW0gNDBweDsNCiAgfQ0KICBociB7DQogICAgaGVpZ2h0OiAwOw0KICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICB9DQogIHByZSB7DQogICAgb3ZlcmZsb3c6IGF1dG87DQogIH0NCiAgY29kZSwNCiAga2JkLA0KICBwcmUsDQogIHNhbXAgew0KICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsNCiAgICBmb250LXNpemU6IDFlbTsNCiAgfQ0KICBidXR0b24sDQogIGlucHV0LA0KICBvcHRncm91cCwNCiAgc2VsZWN0LA0KICB0ZXh0YXJlYSB7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQ6IGluaGVyaXQ7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgYnV0dG9uIHsNCiAgICBvdmVyZmxvdzogdmlzaWJsZTsNCiAgfQ0KICBidXR0b24sDQogIHNlbGVjdCB7DQogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQogIH0NCiAgYnV0dG9uLA0KICBodG1sIGlucHV0W3R5cGU9ImJ1dHRvbiJdLA0KICBpbnB1dFt0eXBlPSJyZXNldCJdLA0KICBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICB9DQogIGJ1dHRvbltkaXNhYmxlZF0sDQogIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHsNCiAgICBjdXJzb3I6IGRlZmF1bHQ7DQogIH0NCiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLA0KICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7DQogICAgcGFkZGluZzogMDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgaW5wdXQgew0KICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7DQogIH0NCiAgaW5wdXRbdHlwZT0iY2hlY2tib3giXSwNCiAgaW5wdXRbdHlwZT0icmFkaW8iXSB7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgcGFkZGluZzogMDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJudW1iZXIiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwNCiAgaW5wdXRbdHlwZT0ibnVtYmVyIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24gew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzZWFyY2giXSB7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsNCiAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7DQogIH0NCiAgaW5wdXRbdHlwZT0ic2VhcmNoIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sDQogIGlucHV0W3R5cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogIH0NCiAgZmllbGRzZXQgew0KICAgIHBhZGRpbmc6IC4zNWVtIC42MjVlbSAuNzVlbTsNCiAgICBtYXJnaW46IDAgMnB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7DQogIH0NCiAgbGVnZW5kIHsNCiAgICBwYWRkaW5nOiAwOw0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICB0ZXh0YXJlYSB7DQogICAgb3ZlcmZsb3c6IGF1dG87DQogIH0NCiAgb3B0Z3JvdXAgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIHRhYmxlIHsNCiAgICBib3JkZXItc3BhY2luZzogMDsNCiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICB9DQogIHRkLA0KICB0aCB7DQogICAgcGFkZGluZzogMDsNCiAgfQ0KICAvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovDQogIEBtZWRpYSBwcmludCB7DQogICAgKiwNCiAgICAqOmJlZm9yZSwNCiAgICAqOmFmdGVyIHsNCiAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50Ow0KICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIGEsDQogICAgYTp2aXNpdGVkIHsNCiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOw0KICAgIH0NCiAgICBhW2hyZWZdOmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICIgKCIgYXR0cihocmVmKSAiKSI7DQogICAgfQ0KICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsNCiAgICAgIGNvbnRlbnQ6ICIgKCIgYXR0cih0aXRsZSkgIikiOw0KICAgIH0NCiAgICBhW2hyZWZePSIjIl06YWZ0ZXIsDQogICAgYVtocmVmXj0iamF2YXNjcmlwdDoiXTphZnRlciB7DQogICAgICBjb250ZW50OiAiIjsNCiAgICB9DQogICAgcHJlLA0KICAgIGJsb2NrcXVvdGUgew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTsNCiAgDQogICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7DQogICAgfQ0KICAgIHRoZWFkIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsNCiAgICB9DQogICAgdHIsDQogICAgaW1nIHsNCiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsNCiAgICB9DQogICAgaW1nIHsNCiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICBwLA0KICAgIGgyLA0KICAgIGgzIHsNCiAgICAgIG9ycGhhbnM6IDM7DQogICAgICB3aWRvd3M6IDM7DQogICAgfQ0KICAgIGgyLA0KICAgIGgzIHsNCiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOw0KICAgIH0NCiAgICAubmF2YmFyIHsNCiAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KICAgIC5idG4gPiAuY2FyZXQsDQogICAgLmRyb3B1cCA+IC5idG4gPiAuY2FyZXQgew0KICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAubGFiZWwgew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsNCiAgICB9DQogICAgLnRhYmxlIHsNCiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRhYmxlIHRkLA0KICAgIC50YWJsZSB0aCB7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIC50YWJsZS1ib3JkZXJlZCB0aCwNCiAgICAudGFibGUtYm9yZGVyZWQgdGQgew0KICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAZm9udC1mYWNlIHsNCiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJzsNCiAgDQogICAgc3JjOiB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuZW90KTsNCiAgICBzcmM6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL3BsdWdpbnMvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q\/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL3BsdWdpbnMvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLCB1cmwoaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9wbHVnaW5zL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksIHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL3BsdWdpbnMvZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvcGx1Z2lucy9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZyNnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIpIGZvcm1hdCgnc3ZnJyk7DQogIH0NCiAgLmdseXBoaWNvbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogMXB4Ow0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJzsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgDQogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7DQogICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgfQ0KICAuZ2x5cGhpY29uLWFzdGVyaXNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMDJhIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsdXM6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwMmIiOw0KICB9DQogIC5nbHlwaGljb24tZXVybzpiZWZvcmUsDQogIC5nbHlwaGljb24tZXVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMGFjIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1pbnVzOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMjEyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNsb3VkOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyNjAxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyNzA5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBlbmNpbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMjcwZiI7DQogIH0NCiAgLmdseXBoaWNvbi1nbGFzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwMSI7DQogIH0NCiAgLmdseXBoaWNvbi1tdXNpYzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwMiI7DQogIH0NCiAgLmdseXBoaWNvbi1zZWFyY2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMDMiOw0KICB9DQogIC5nbHlwaGljb24taGVhcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMDUiOw0KICB9DQogIC5nbHlwaGljb24tc3RhcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwNiI7DQogIH0NCiAgLmdseXBoaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDA3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXVzZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMDgiOw0KICB9DQogIC5nbHlwaGljb24tZmlsbTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAwOSI7DQogIH0NCiAgLmdseXBoaWNvbi10aC1sYXJnZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxMCI7DQogIH0NCiAgLmdseXBoaWNvbi10aDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxMSI7DQogIH0NCiAgLmdseXBoaWNvbi10aC1saXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDEyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDEzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlbW92ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxNCI7DQogIH0NCiAgLmdseXBoaWNvbi16b29tLWluOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXpvb20tb3V0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9mZjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAxNyI7DQogIH0NCiAgLmdseXBoaWNvbi1zaWduYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMTgiOw0KICB9DQogIC5nbHlwaGljb24tY29nOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDE5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyYXNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDIwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhvbWU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjEiOw0KICB9DQogIC5nbHlwaGljb24tZmlsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyMiI7DQogIH0NCiAgLmdseXBoaWNvbi10aW1lOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDIzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMjQiOw0KICB9DQogIC5nbHlwaGljb24tZG93bmxvYWQtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWRvd25sb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDI2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyNyI7DQogIH0NCiAgLmdseXBoaWNvbi1pbmJveDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyOCI7DQogIH0NCiAgLmdseXBoaWNvbi1wbGF5LWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAyOSI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXBlYXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzAiOw0KICB9DQogIC5nbHlwaGljb24tcmVmcmVzaDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzMSI7DQogIH0NCiAgLmdseXBoaWNvbi1saXN0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzMiI7DQogIH0NCiAgLmdseXBoaWNvbi1sb2NrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDMzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsYWc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzQiOw0KICB9DQogIC5nbHlwaGljb24taGVhZHBob25lczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzNSI7DQogIH0NCiAgLmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXZvbHVtZS1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDM3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXZvbHVtZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTAzOCI7DQogIH0NCiAgLmdseXBoaWNvbi1xcmNvZGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwMzkiOw0KICB9DQogIC5nbHlwaGljb24tYmFyY29kZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0MCI7DQogIH0NCiAgLmdseXBoaWNvbi10YWc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDEiOw0KICB9DQogIC5nbHlwaGljb24tdGFnczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0MiI7DQogIH0NCiAgLmdseXBoaWNvbi1ib29rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJvb2ttYXJrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXByaW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNhbWVyYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA0NiI7DQogIH0NCiAgLmdseXBoaWNvbi1mb250OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJvbGQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNDgiOw0KICB9DQogIC5nbHlwaGljb24taXRhbGljOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDQ5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtaGVpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDUwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTEiOw0KICB9DQogIC5nbHlwaGljb24tYWxpZ24tbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1MiI7DQogIH0NCiAgLmdseXBoaWNvbi1hbGlnbi1jZW50ZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTMiOw0KICB9DQogIC5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNTQiOw0KICB9DQogIC5nbHlwaGljb24tYWxpZ24tanVzdGlmeTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1NSI7DQogIH0NCiAgLmdseXBoaWNvbi1saXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDU3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWluZGVudC1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1OCI7DQogIH0NCiAgLmdseXBoaWNvbi1mYWNldGltZS12aWRlbzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA1OSI7DQogIH0NCiAgLmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDYwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1hcC1tYXJrZXI6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjIiOw0KICB9DQogIC5nbHlwaGljb24tYWRqdXN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDYzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRpbnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjQiOw0KICB9DQogIC5nbHlwaGljb24tZWRpdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2NSI7DQogIH0NCiAgLmdseXBoaWNvbi1zaGFyZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2NiI7DQogIH0NCiAgLmdseXBoaWNvbi1jaGVjazpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA2NyI7DQogIH0NCiAgLmdseXBoaWNvbi1tb3ZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDY4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNjkiOw0KICB9DQogIC5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3MCI7DQogIH0NCiAgLmdseXBoaWNvbi1iYWNrd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3MSI7DQogIH0NCiAgLmdseXBoaWNvbi1wbGF5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDcyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBhdXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDczIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN0b3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzQiOw0KICB9DQogIC5nbHlwaGljb24tZm9yd2FyZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3NSI7DQogIH0NCiAgLmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwNzYiOw0KICB9DQogIC5nbHlwaGljb24tc3RlcC1mb3J3YXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWVqZWN0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDc4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA3OSI7DQogIH0NCiAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDgwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXBsdXMtc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4MSI7DQogIH0NCiAgLmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDgyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlbW92ZS1zaWduOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDgzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9rLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODQiOw0KICB9DQogIC5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NSI7DQogIH0NCiAgLmdseXBoaWNvbi1pbmZvLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwODYiOw0KICB9DQogIC5nbHlwaGljb24tc2NyZWVuc2hvdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4NyI7DQogIH0NCiAgLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDg4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9rLWNpcmNsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA4OSI7DQogIH0NCiAgLmdseXBoaWNvbi1iYW4tY2lyY2xlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDkwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTEiOw0KICB9DQogIC5nbHlwaGljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTIiOw0KICB9DQogIC5nbHlwaGljb24tYXJyb3ctdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTMiOw0KICB9DQogIC5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTA5NCI7DQogIH0NCiAgLmdseXBoaWNvbi1zaGFyZS1hbHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTUiOw0KICB9DQogIC5nbHlwaGljb24tcmVzaXplLWZ1bGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUwOTYiOw0KICB9DQogIC5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMDk3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDEiOw0KICB9DQogIC5nbHlwaGljb24tZ2lmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwMiI7DQogIH0NCiAgLmdseXBoaWNvbi1sZWFmOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTAzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZpcmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDQiOw0KICB9DQogIC5nbHlwaGljb24tZXllLW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMDUiOw0KICB9DQogIC5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTA2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXdhcm5pbmctc2lnbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwNyI7DQogIH0NCiAgLmdseXBoaWNvbi1wbGFuZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwOCI7DQogIH0NCiAgLmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEwOSI7DQogIH0NCiAgLmdseXBoaWNvbi1yYW5kb206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTAiOw0KICB9DQogIC5nbHlwaGljb24tY29tbWVudDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMSI7DQogIH0NCiAgLmdseXBoaWNvbi1tYWduZXQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTIiOw0KICB9DQogIC5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExMyI7DQogIH0NCiAgLmdseXBoaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTQiOw0KICB9DQogIC5nbHlwaGljb24tcmV0d2VldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExNSI7DQogIH0NCiAgLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTE2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZvbGRlci1jbG9zZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExNyI7DQogIH0NCiAgLmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTExOCI7DQogIH0NCiAgLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMTkiOw0KICB9DQogIC5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjAiOw0KICB9DQogIC5nbHlwaGljb24taGRkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTIxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJ1bGxob3JuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTIyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJlbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjMiOw0KICB9DQogIC5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjQiOw0KICB9DQogIC5nbHlwaGljb24tdGh1bWJzLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTI1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRodW1icy1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTI2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjciOw0KICB9DQogIC5nbHlwaGljb24taGFuZC1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTI4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhhbmQtdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMjkiOw0KICB9DQogIC5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTMwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzMSI7DQogIH0NCiAgLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzMiI7DQogIH0NCiAgLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzMiOw0KICB9DQogIC5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzQiOw0KICB9DQogIC5nbHlwaGljb24tZ2xvYmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzUiOw0KICB9DQogIC5nbHlwaGljb24td3JlbmNoOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTM2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRhc2tzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTM3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZpbHRlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTEzOCI7DQogIH0NCiAgLmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxMzkiOw0KICB9DQogIC5nbHlwaGljb24tZnVsbHNjcmVlbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0MCI7DQogIH0NCiAgLmdseXBoaWNvbi1kYXNoYm9hcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDEiOw0KICB9DQogIC5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhlYXJ0LWVtcHR5OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxpbms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDQiOw0KICB9DQogIC5nbHlwaGljb24tcGhvbmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDUiOw0KICB9DQogIC5nbHlwaGljb24tcHVzaHBpbjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE0NiI7DQogIH0NCiAgLmdseXBoaWNvbi11c2Q6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNDgiOw0KICB9DQogIC5nbHlwaGljb24tZ2JwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTQ5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTAiOw0KICB9DQogIC5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1MSI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1MiI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTUzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1NSI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTU2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXVuY2hlY2tlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1NyI7DQogIH0NCiAgLmdseXBoaWNvbi1leHBhbmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNTgiOw0KICB9DQogIC5nbHlwaGljb24tY29sbGFwc2UtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE1OSI7DQogIH0NCiAgLmdseXBoaWNvbi1jb2xsYXBzZS11cDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MCI7DQogIH0NCiAgLmdseXBoaWNvbi1sb2ctaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjEiOw0KICB9DQogIC5nbHlwaGljb24tZmxhc2g6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjIiOw0KICB9DQogIC5nbHlwaGljb24tbG9nLW91dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2MyI7DQogIH0NCiAgLmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTY0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJlY29yZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE2NSI7DQogIH0NCiAgLmdseXBoaWNvbi1zYXZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTY2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9wZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjciOw0KICB9DQogIC5nbHlwaGljb24tc2F2ZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNjgiOw0KICB9DQogIC5nbHlwaGljb24taW1wb3J0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTY5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE3MCI7DQogIH0NCiAgLmdseXBoaWNvbi1zZW5kOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTcxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1kaXNrOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTcyIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE3MyI7DQogIH0NCiAgLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTc0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1zYXZlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTc1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTc2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNyZWRpdC1jYXJkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTc3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyYW5zZmVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTc4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxNzkiOw0KICB9DQogIC5nbHlwaGljb24taGVhZGVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTgwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNvbXByZXNzZWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODEiOw0KICB9DQogIC5nbHlwaGljb24tZWFycGhvbmU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODIiOw0KICB9DQogIC5nbHlwaGljb24tcGhvbmUtYWx0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTgzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRvd2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN0YXRzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNkLXZpZGVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhkLXZpZGVvOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTg3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE4OCI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC1zdGVyZW86YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxODkiOw0KICB9DQogIC5nbHlwaGljb24tc291bmQtZG9sYnk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTAiOw0KICB9DQogIC5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTkxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNvdW5kLTYtMTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5MiI7DQogIH0NCiAgLmdseXBoaWNvbi1zb3VuZC03LTE6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTMiOw0KICB9DQogIC5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTQiOw0KICB9DQogIC5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcms6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTUiOw0KICB9DQogIC5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUxOTciOw0KICB9DQogIC5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMTk4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXRyZWUtY29uaWZlcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTE5OSI7DQogIH0NCiAgLmdseXBoaWNvbi10cmVlLWRlY2lkdW91czpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwMCI7DQogIH0NCiAgLmdseXBoaWNvbi1jZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIwMSI7DQogIH0NCiAgLmdseXBoaWNvbi1zYXZlLWZpbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDIiOw0KICB9DQogIC5nbHlwaGljb24tb3Blbi1maWxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjAzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjA0IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNvcHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDUiOw0KICB9DQogIC5nbHlwaGljb24tcGFzdGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDYiOw0KICB9DQogIC5nbHlwaGljb24tYWxlcnQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMDkiOw0KICB9DQogIC5nbHlwaGljb24tZXF1YWxpemVyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjEwIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWtpbmc6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTEiOw0KICB9DQogIC5nbHlwaGljb24tcXVlZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTIiOw0KICB9DQogIC5nbHlwaGljb24tcGF3bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxMyI7DQogIH0NCiAgLmdseXBoaWNvbi1iaXNob3A6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTQiOw0KICB9DQogIC5nbHlwaGljb24ta25pZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjE1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJhYnktZm9ybXVsYTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIxNiI7DQogIH0NCiAgLmdseXBoaWNvbi10ZW50OmJlZm9yZSB7DQogICAgY29udGVudDogIlwyNmZhIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMTgiOw0KICB9DQogIC5nbHlwaGljb24tYmVkOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjE5IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWFwcGxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxmOGZmIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWVyYXNlOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjIxIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWhvdXJnbGFzczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMjMxYiI7DQogIH0NCiAgLmdseXBoaWNvbi1sYW1wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjIzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIyNCI7DQogIH0NCiAgLmdseXBoaWNvbi1waWdneS1iYW5rOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXNjaXNzb3JzOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLWJpdGNvaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMjciOw0KICB9DQogIC5nbHlwaGljb24tYnRjOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjI3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXhidDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIyNyI7DQogIH0NCiAgLmdseXBoaWNvbi15ZW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXDAwYTUiOw0KICB9DQogIC5nbHlwaGljb24tanB5OmJlZm9yZSB7DQogICAgY29udGVudDogIlwwMGE1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJ1YmxlOmJlZm9yZSB7DQogICAgY29udGVudDogIlwyMGJkIjsNCiAgfQ0KICAuZ2x5cGhpY29uLXJ1YjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcMjBiZCI7DQogIH0NCiAgLmdseXBoaWNvbi1zY2FsZTpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMCI7DQogIH0NCiAgLmdseXBoaWNvbi1pY2UtbG9sbHk6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzEiOw0KICB9DQogIC5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzMiI7DQogIH0NCiAgLmdseXBoaWNvbi1lZHVjYXRpb246YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzMiOw0KICB9DQogIC5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzQiOw0KICB9DQogIC5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjM1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjM2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1vZGFsLXdpbmRvdzpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTIzNyI7DQogIH0NCiAgLmdseXBoaWNvbi1vaWw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzgiOw0KICB9DQogIC5nbHlwaGljb24tZ3JhaW46YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyMzkiOw0KICB9DQogIC5nbHlwaGljb24tc3VuZ2xhc3NlczpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MCI7DQogIH0NCiAgLmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDEiOw0KICB9DQogIC5nbHlwaGljb24tdGV4dC1jb2xvcjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0MiI7DQogIH0NCiAgLmdseXBoaWNvbi10ZXh0LWJhY2tncm91bmQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDMiOw0KICB9DQogIC5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0NCI7DQogIH0NCiAgLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ1IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1ob3Jpem9udGFsOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjQ3IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI0OCI7DQogIH0NCiAgLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNDkiOw0KICB9DQogIC5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTAiOw0KICB9DQogIC5nbHlwaGljb24tdHJpYW5nbGUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1MSI7DQogIH0NCiAgLmdseXBoaWNvbi10cmlhbmdsZS1ib3R0b206YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTIiOw0KICB9DQogIC5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjUzIjsNCiAgfQ0KICAuZ2x5cGhpY29uLWNvbnNvbGU6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTQiOw0KICB9DQogIC5nbHlwaGljb24tc3VwZXJzY3JpcHQ6YmVmb3JlIHsNCiAgICBjb250ZW50OiAiXGUyNTUiOw0KICB9DQogIC5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU2IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtbGVmdDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1NyI7DQogIH0NCiAgLmdseXBoaWNvbi1tZW51LXJpZ2h0OmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjU4IjsNCiAgfQ0KICAuZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICJcZTI1OSI7DQogIH0NCiAgLmdseXBoaWNvbi1tZW51LXVwOmJlZm9yZSB7DQogICAgY29udGVudDogIlxlMjYwIjsNCiAgfQ0KICAqIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgfQ0KICAqOmJlZm9yZSwNCiAgKjphZnRlciB7DQogICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogIH0NCiAgaHRtbCB7DQogICAgZm9udC1zaXplOiAxMHB4Ow0KICANCiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQogIH0NCiAgYm9keSB7DQogICAgZm9udC1mYW1pbHk6ICJIZWx2ZXRpY2EgTmV1ZSIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgaW5wdXQsDQogIGJ1dHRvbiwNCiAgc2VsZWN0LA0KICB0ZXh0YXJlYSB7DQogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7DQogICAgZm9udC1zaXplOiBpbmhlcml0Ow0KICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0Ow0KICB9DQogIGEgew0KICAgIGNvbG9yOiAjMzM3YWI3Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgfQ0KICBhOmhvdmVyLA0KICBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzIzNTI3YzsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgfQ0KICBhOmZvY3VzIHsNCiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7DQogICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7DQogIH0NCiAgZmlndXJlIHsNCiAgICBtYXJnaW46IDA7DQogIH0NCiAgaW1nIHsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICB9DQogIC5pbWctcmVzcG9uc2l2ZSwNCiAgLnRodW1ibmFpbCA+IGltZywNCiAgLnRodW1ibmFpbCBhID4gaW1nLA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGltZywNCiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0gPiBhID4gaW1nIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5pbWctcm91bmRlZCB7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC5pbWctdGh1bWJuYWlsIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogYXV0bzsNCiAgICBwYWRkaW5nOiA0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsNCiAgfQ0KICAuaW1nLWNpcmNsZSB7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICB9DQogIGhyIHsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgYm9yZGVyOiAwOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlOw0KICB9DQogIC5zci1vbmx5IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgd2lkdGg6IDFweDsNCiAgICBoZWlnaHQ6IDFweDsNCiAgICBwYWRkaW5nOiAwOw0KICAgIG1hcmdpbjogLTFweDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsDQogIC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1cyB7DQogICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICB3aWR0aDogYXV0bzsNCiAgICBoZWlnaHQ6IGF1dG87DQogICAgbWFyZ2luOiAwOw0KICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgIGNsaXA6IGF1dG87DQogIH0NCiAgW3JvbGU9ImJ1dHRvbiJdIHsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgaDEsDQogIGgyLA0KICBoMywNCiAgaDQsDQogIGg1LA0KICBoNiwNCiAgLmgxLA0KICAuaDIsDQogIC5oMywNCiAgLmg0LA0KICAuaDUsDQogIC5oNiB7DQogICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBsaW5lLWhlaWdodDogMS4xOw0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIGgxIHNtYWxsLA0KICBoMiBzbWFsbCwNCiAgaDMgc21hbGwsDQogIGg0IHNtYWxsLA0KICBoNSBzbWFsbCwNCiAgaDYgc21hbGwsDQogIC5oMSBzbWFsbCwNCiAgLmgyIHNtYWxsLA0KICAuaDMgc21hbGwsDQogIC5oNCBzbWFsbCwNCiAgLmg1IHNtYWxsLA0KICAuaDYgc21hbGwsDQogIGgxIC5zbWFsbCwNCiAgaDIgLnNtYWxsLA0KICBoMyAuc21hbGwsDQogIGg0IC5zbWFsbCwNCiAgaDUgLnNtYWxsLA0KICBoNiAuc21hbGwsDQogIC5oMSAuc21hbGwsDQogIC5oMiAuc21hbGwsDQogIC5oMyAuc21hbGwsDQogIC5oNCAuc21hbGwsDQogIC5oNSAuc21hbGwsDQogIC5oNiAuc21hbGwgew0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgaDEsDQogIC5oMSwNCiAgaDIsDQogIC5oMiwNCiAgaDMsDQogIC5oMyB7DQogICAgbWFyZ2luLXRvcDogMjBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICB9DQogIGgxIHNtYWxsLA0KICAuaDEgc21hbGwsDQogIGgyIHNtYWxsLA0KICAuaDIgc21hbGwsDQogIGgzIHNtYWxsLA0KICAuaDMgc21hbGwsDQogIGgxIC5zbWFsbCwNCiAgLmgxIC5zbWFsbCwNCiAgaDIgLnNtYWxsLA0KICAuaDIgLnNtYWxsLA0KICBoMyAuc21hbGwsDQogIC5oMyAuc21hbGwgew0KICAgIGZvbnQtc2l6ZTogNjUlOw0KICB9DQogIGg0LA0KICAuaDQsDQogIGg1LA0KICAuaDUsDQogIGg2LA0KICAuaDYgew0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgfQ0KICBoNCBzbWFsbCwNCiAgLmg0IHNtYWxsLA0KICBoNSBzbWFsbCwNCiAgLmg1IHNtYWxsLA0KICBoNiBzbWFsbCwNCiAgLmg2IHNtYWxsLA0KICBoNCAuc21hbGwsDQogIC5oNCAuc21hbGwsDQogIGg1IC5zbWFsbCwNCiAgLmg1IC5zbWFsbCwNCiAgaDYgLnNtYWxsLA0KICAuaDYgLnNtYWxsIHsNCiAgICBmb250LXNpemU6IDc1JTsNCiAgfQ0KICBoMSwNCiAgLmgxIHsNCiAgICBmb250LXNpemU6IDM2cHg7DQogIH0NCiAgaDIsDQogIC5oMiB7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICB9DQogIGgzLA0KICAuaDMgew0KICAgIGZvbnQtc2l6ZTogMjRweDsNCiAgfQ0KICBoNCwNCiAgLmg0IHsNCiAgICBmb250LXNpemU6IDE4cHg7DQogIH0NCiAgaDUsDQogIC5oNSB7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICB9DQogIGg2LA0KICAuaDYgew0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgfQ0KICBwIHsNCiAgICBtYXJnaW46IDAgMCAxMHB4Ow0KICB9DQogIC5sZWFkIHsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogMzAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQ7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmxlYWQgew0KICAgICAgZm9udC1zaXplOiAyMXB4Ow0KICAgIH0NCiAgfQ0KICBzbWFsbCwNCiAgLnNtYWxsIHsNCiAgICBmb250LXNpemU6IDg1JTsNCiAgfQ0KICBtYXJrLA0KICAubWFyayB7DQogICAgcGFkZGluZzogLjJlbTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIC50ZXh0LWxlZnQgew0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgLnRleHQtcmlnaHQgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICB9DQogIC50ZXh0LWNlbnRlciB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICB9DQogIC50ZXh0LWp1c3RpZnkgew0KICAgIHRleHQtYWxpZ246IGp1c3RpZnk7DQogIH0NCiAgLnRleHQtbm93cmFwIHsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC50ZXh0LWxvd2VyY2FzZSB7DQogICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsNCiAgfQ0KICAudGV4dC11cHBlcmNhc2Ugew0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogIH0NCiAgLnRleHQtY2FwaXRhbGl6ZSB7DQogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7DQogIH0NCiAgLnRleHQtbXV0ZWQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC50ZXh0LXByaW1hcnkgew0KICAgIGNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIGEudGV4dC1wcmltYXJ5OmhvdmVyLA0KICBhLnRleHQtcHJpbWFyeTpmb2N1cyB7DQogICAgY29sb3I6ICMyODYwOTA7DQogIH0NCiAgLnRleHQtc3VjY2VzcyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsDQogIGEudGV4dC1zdWNjZXNzOmZvY3VzIHsNCiAgICBjb2xvcjogIzJiNTQyYzsNCiAgfQ0KICAudGV4dC1pbmZvIHsNCiAgICBjb2xvcjogIzMxNzA4ZjsNCiAgfQ0KICBhLnRleHQtaW5mbzpob3ZlciwNCiAgYS50ZXh0LWluZm86Zm9jdXMgew0KICAgIGNvbG9yOiAjMjQ1MjY5Ow0KICB9DQogIC50ZXh0LXdhcm5pbmcgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIGEudGV4dC13YXJuaW5nOmhvdmVyLA0KICBhLnRleHQtd2FybmluZzpmb2N1cyB7DQogICAgY29sb3I6ICM2NjUxMmM7DQogIH0NCiAgLnRleHQtZGFuZ2VyIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICBhLnRleHQtZGFuZ2VyOmhvdmVyLA0KICBhLnRleHQtZGFuZ2VyOmZvY3VzIHsNCiAgICBjb2xvcjogIzg0MzUzNDsNCiAgfQ0KICAuYmctcHJpbWFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICBhLmJnLXByaW1hcnk6aG92ZXIsDQogIGEuYmctcHJpbWFyeTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgfQ0KICAuYmctc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgfQ0KICBhLmJnLXN1Y2Nlc3M6aG92ZXIsDQogIGEuYmctc3VjY2Vzczpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2MxZTJiMzsNCiAgfQ0KICAuYmctaW5mbyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsNCiAgfQ0KICBhLmJnLWluZm86aG92ZXIsDQogIGEuYmctaW5mbzpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2FmZDllZTsNCiAgfQ0KICAuYmctd2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgfQ0KICBhLmJnLXdhcm5pbmc6aG92ZXIsDQogIGEuYmctd2FybmluZzpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZWNiNTsNCiAgfQ0KICAuYmctZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOw0KICB9DQogIGEuYmctZGFuZ2VyOmhvdmVyLA0KICBhLmJnLWRhbmdlcjpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U0YjliOTsNCiAgfQ0KICAucGFnZS1oZWFkZXIgew0KICAgIHBhZGRpbmctYm90dG9tOiA5cHg7DQogICAgbWFyZ2luOiA0MHB4IDAgMjBweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCiAgfQ0KICB1bCwNCiAgb2wgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgfQ0KICB1bCB1bCwNCiAgb2wgdWwsDQogIHVsIG9sLA0KICBvbCBvbCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAubGlzdC11bnN0eWxlZCB7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLmxpc3QtaW5saW5lIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLWxlZnQ6IC01cHg7DQogICAgbGlzdC1zdHlsZTogbm9uZTsNCiAgfQ0KICAubGlzdC1pbmxpbmUgPiBsaSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmctcmlnaHQ6IDVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDVweDsNCiAgfQ0KICBkbCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICB9DQogIGR0LA0KICBkZCB7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogIH0NCiAgZHQgew0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIGRkIHsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAuZGwtaG9yaXpvbnRhbCBkdCB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICAgIHdpZHRoOiAxNjBweDsNCiAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgICBjbGVhcjogbGVmdDsNCiAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIH0NCiAgICAuZGwtaG9yaXpvbnRhbCBkZCB7DQogICAgICBtYXJnaW4tbGVmdDogMTgwcHg7DQogICAgfQ0KICB9DQogIGFiYnJbdGl0bGVdLA0KICBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHsNCiAgICBjdXJzb3I6IGhlbHA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNzc3Ow0KICB9DQogIC5pbml0aWFsaXNtIHsNCiAgICBmb250LXNpemU6IDkwJTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICB9DQogIGJsb2NrcXVvdGUgew0KICAgIHBhZGRpbmc6IDEwcHggMjBweDsNCiAgICBtYXJnaW46IDAgMCAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTcuNXB4Ow0KICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2VlZTsNCiAgfQ0KICBibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCwNCiAgYmxvY2txdW90ZSB1bDpsYXN0LWNoaWxkLA0KICBibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQgew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogIH0NCiAgYmxvY2txdW90ZSBmb290ZXIsDQogIGJsb2NrcXVvdGUgc21hbGwsDQogIGJsb2NrcXVvdGUgLnNtYWxsIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmb250LXNpemU6IDgwJTsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICBibG9ja3F1b3RlIGZvb3RlcjpiZWZvcmUsDQogIGJsb2NrcXVvdGUgc21hbGw6YmVmb3JlLA0KICBibG9ja3F1b3RlIC5zbWFsbDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICdcMjAxNCBcMDBBMCc7DQogIH0NCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB0ZXh0LWFsaWduOiByaWdodDsNCiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjZWVlOw0KICAgIGJvcmRlci1sZWZ0OiAwOw0KICB9DQogIC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmJlZm9yZSwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjpiZWZvcmUsDQogIC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YmVmb3JlLA0KICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3JlLA0KICAuYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDpiZWZvcmUsDQogIGJsb2NrcXVvdGUucHVsbC1yaWdodCAuc21hbGw6YmVmb3JlIHsNCiAgICBjb250ZW50OiAnJzsNCiAgfQ0KICAuYmxvY2txdW90ZS1yZXZlcnNlIGZvb3RlcjphZnRlciwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjphZnRlciwNCiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDphZnRlciwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVyLA0KICAuYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDphZnRlciwNCiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDphZnRlciB7DQogICAgY29udGVudDogJ1wwMEEwIFwyMDE0JzsNCiAgfQ0KICBhZGRyZXNzIHsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgfQ0KICBjb2RlLA0KICBrYmQsDQogIHByZSwNCiAgc2FtcCB7DQogICAgZm9udC1mYW1pbHk6IE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAiQ291cmllciBOZXciLCBtb25vc3BhY2U7DQogIH0NCiAgY29kZSB7DQogICAgcGFkZGluZzogMnB4IDRweDsNCiAgICBmb250LXNpemU6IDkwJTsNCiAgICBjb2xvcjogI2M3MjU0ZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmMmY0Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICBrYmQgew0KICAgIHBhZGRpbmc6IDJweCA0cHg7DQogICAgZm9udC1zaXplOiA5MCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIC4yNSk7DQogIH0NCiAga2JkIGtiZCB7DQogICAgcGFkZGluZzogMDsNCiAgICBmb250LXNpemU6IDEwMCU7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgfQ0KICBwcmUgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDkuNXB4Ow0KICAgIG1hcmdpbjogMCAwIDEwcHg7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGNvbG9yOiAjMzMzOw0KICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsNCiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICBwcmUgY29kZSB7DQogICAgcGFkZGluZzogMDsNCiAgICBmb250LXNpemU6IGluaGVyaXQ7DQogICAgY29sb3I6IGluaGVyaXQ7DQogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLnByZS1zY3JvbGxhYmxlIHsNCiAgICBtYXgtaGVpZ2h0OiAzNDBweDsNCiAgICBvdmVyZmxvdy15OiBzY3JvbGw7DQogIH0NCiAgLmNvbnRhaW5lciB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgd2lkdGg6IDc1MHB4Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAuY29udGFpbmVyIHsNCiAgICAgIHdpZHRoOiA5NzBweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC5jb250YWluZXIgew0KICAgICAgd2lkdGg6IDExNzBweDsNCiAgICB9DQogIH0NCiAgLmNvbnRhaW5lci1mbHVpZCB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvOw0KICB9DQogIC5yb3cgew0KICAgIG1hcmdpbi1yaWdodDogLTE1cHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KICB9DQogIC5jb2wteHMtMSwgLmNvbC1zbS0xLCAuY29sLW1kLTEsIC5jb2wtbGctMSwgLmNvbC14cy0yLCAuY29sLXNtLTIsIC5jb2wtbWQtMiwgLmNvbC1sZy0yLCAuY29sLXhzLTMsIC5jb2wtc20tMywgLmNvbC1tZC0zLCAuY29sLWxnLTMsIC5jb2wteHMtNCwgLmNvbC1zbS00LCAuY29sLW1kLTQsIC5jb2wtbGctNCwgLmNvbC14cy01LCAuY29sLXNtLTUsIC5jb2wtbWQtNSwgLmNvbC1sZy01LCAuY29sLXhzLTYsIC5jb2wtc20tNiwgLmNvbC1tZC02LCAuY29sLWxnLTYsIC5jb2wteHMtNywgLmNvbC1zbS03LCAuY29sLW1kLTcsIC5jb2wtbGctNywgLmNvbC14cy04LCAuY29sLXNtLTgsIC5jb2wtbWQtOCwgLmNvbC1sZy04LCAuY29sLXhzLTksIC5jb2wtc20tOSwgLmNvbC1tZC05LCAuY29sLWxnLTksIC5jb2wteHMtMTAsIC5jb2wtc20tMTAsIC5jb2wtbWQtMTAsIC5jb2wtbGctMTAsIC5jb2wteHMtMTEsIC5jb2wtc20tMTEsIC5jb2wtbWQtMTEsIC5jb2wtbGctMTEsIC5jb2wteHMtMTIsIC5jb2wtc20tMTIsIC5jb2wtbWQtMTIsIC5jb2wtbGctMTIgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBtaW4taGVpZ2h0OiAxcHg7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogIH0NCiAgLmNvbC14cy0xLCAuY29sLXhzLTIsIC5jb2wteHMtMywgLmNvbC14cy00LCAuY29sLXhzLTUsIC5jb2wteHMtNiwgLmNvbC14cy03LCAuY29sLXhzLTgsIC5jb2wteHMtOSwgLmNvbC14cy0xMCwgLmNvbC14cy0xMSwgLmNvbC14cy0xMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLmNvbC14cy0xMiB7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmNvbC14cy0xMSB7DQogICAgd2lkdGg6IDkxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLTEwIHsNCiAgICB3aWR0aDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtOSB7DQogICAgd2lkdGg6IDc1JTsNCiAgfQ0KICAuY29sLXhzLTggew0KICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy03IHsNCiAgICB3aWR0aDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtNiB7DQogICAgd2lkdGg6IDUwJTsNCiAgfQ0KICAuY29sLXhzLTUgew0KICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy00IHsNCiAgICB3aWR0aDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtMyB7DQogICAgd2lkdGg6IDI1JTsNCiAgfQ0KICAuY29sLXhzLTIgew0KICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy0xIHsNCiAgICB3aWR0aDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTEyIHsNCiAgICByaWdodDogMTAwJTsNCiAgfQ0KICAuY29sLXhzLXB1bGwtMTEgew0KICAgIHJpZ2h0OiA5MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTEwIHsNCiAgICByaWdodDogODMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVsbC05IHsNCiAgICByaWdodDogNzUlOw0KICB9DQogIC5jb2wteHMtcHVsbC04IHsNCiAgICByaWdodDogNjYuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtcHVsbC03IHsNCiAgICByaWdodDogNTguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVsbC02IHsNCiAgICByaWdodDogNTAlOw0KICB9DQogIC5jb2wteHMtcHVsbC01IHsNCiAgICByaWdodDogNDEuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtcHVsbC00IHsNCiAgICByaWdodDogMzMuMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVsbC0zIHsNCiAgICByaWdodDogMjUlOw0KICB9DQogIC5jb2wteHMtcHVsbC0yIHsNCiAgICByaWdodDogMTYuNjY2NjY2NjclOw0KICB9DQogIC5jb2wteHMtcHVsbC0xIHsNCiAgICByaWdodDogOC4zMzMzMzMzMyU7DQogIH0NCiAgLmNvbC14cy1wdWxsLTAgew0KICAgIHJpZ2h0OiBhdXRvOw0KICB9DQogIC5jb2wteHMtcHVzaC0xMiB7DQogICAgbGVmdDogMTAwJTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtMTEgew0KICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtMTAgew0KICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtOSB7DQogICAgbGVmdDogNzUlOw0KICB9DQogIC5jb2wteHMtcHVzaC04IHsNCiAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTcgew0KICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtNiB7DQogICAgbGVmdDogNTAlOw0KICB9DQogIC5jb2wteHMtcHVzaC01IHsNCiAgICBsZWZ0OiA0MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTQgew0KICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLXB1c2gtMyB7DQogICAgbGVmdDogMjUlOw0KICB9DQogIC5jb2wteHMtcHVzaC0yIHsNCiAgICBsZWZ0OiAxNi42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1wdXNoLTEgew0KICAgIGxlZnQ6IDguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtcHVzaC0wIHsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTEyIHsNCiAgICBtYXJnaW4tbGVmdDogMTAwJTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC0xMSB7DQogICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC0xMCB7DQogICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC05IHsNCiAgICBtYXJnaW4tbGVmdDogNzUlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTggew0KICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtNyB7DQogICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC02IHsNCiAgICBtYXJnaW4tbGVmdDogNTAlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTUgew0KICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtNCB7DQogICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgfQ0KICAuY29sLXhzLW9mZnNldC0zIHsNCiAgICBtYXJnaW4tbGVmdDogMjUlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTIgew0KICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7DQogIH0NCiAgLmNvbC14cy1vZmZzZXQtMSB7DQogICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOw0KICB9DQogIC5jb2wteHMtb2Zmc2V0LTAgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgIC5jb2wtc20tMTIgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtc20tMTEgew0KICAgICAgd2lkdGg6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS0xMCB7DQogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLTkgew0KICAgICAgd2lkdGg6IDc1JTsNCiAgICB9DQogICAgLmNvbC1zbS04IHsNCiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tNyB7DQogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLTYgew0KICAgICAgd2lkdGg6IDUwJTsNCiAgICB9DQogICAgLmNvbC1zbS01IHsNCiAgICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tNCB7DQogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLTMgew0KICAgICAgd2lkdGg6IDI1JTsNCiAgICB9DQogICAgLmNvbC1zbS0yIHsNCiAgICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tMSB7DQogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0xMiB7DQogICAgICByaWdodDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdWxsLTExIHsNCiAgICAgIHJpZ2h0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0xMCB7DQogICAgICByaWdodDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtOSB7DQogICAgICByaWdodDogNzUlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtOCB7DQogICAgICByaWdodDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtNyB7DQogICAgICByaWdodDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtNiB7DQogICAgICByaWdodDogNTAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtNSB7DQogICAgICByaWdodDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtNCB7DQogICAgICByaWdodDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtMyB7DQogICAgICByaWdodDogMjUlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtMiB7DQogICAgICByaWdodDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLXNtLXB1bGwtMSB7DQogICAgICByaWdodDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVsbC0wIHsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMTIgew0KICAgICAgbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTExIHsNCiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTEwIHsNCiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTkgew0KICAgICAgbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtOCB7DQogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC03IHsNCiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTYgew0KICAgICAgbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtNSB7DQogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC00IHsNCiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1wdXNoLTMgew0KICAgICAgbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMiB7DQogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tcHVzaC0xIHsNCiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLXB1c2gtMCB7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0xMiB7DQogICAgICBtYXJnaW4tbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtMTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtMTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtOSB7DQogICAgICBtYXJnaW4tbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC04IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTcgew0KICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtNiB7DQogICAgICBtYXJnaW4tbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC01IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTQgew0KICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1zbS1vZmZzZXQtMyB7DQogICAgICBtYXJnaW4tbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0yIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtc20tb2Zmc2V0LTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLXNtLW9mZnNldC0wIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHsNCiAgICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgIH0NCiAgICAuY29sLW1kLTEyIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCiAgICAuY29sLW1kLTExIHsNCiAgICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtMTAgew0KICAgICAgd2lkdGg6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC05IHsNCiAgICAgIHdpZHRoOiA3NSU7DQogICAgfQ0KICAgIC5jb2wtbWQtOCB7DQogICAgICB3aWR0aDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLTcgew0KICAgICAgd2lkdGg6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC02IHsNCiAgICAgIHdpZHRoOiA1MCU7DQogICAgfQ0KICAgIC5jb2wtbWQtNSB7DQogICAgICB3aWR0aDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLTQgew0KICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC0zIHsNCiAgICAgIHdpZHRoOiAyNSU7DQogICAgfQ0KICAgIC5jb2wtbWQtMiB7DQogICAgICB3aWR0aDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLTEgew0KICAgICAgd2lkdGg6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMTIgew0KICAgICAgcmlnaHQ6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVsbC0xMSB7DQogICAgICByaWdodDogOTEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMTAgew0KICAgICAgcmlnaHQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTkgew0KICAgICAgcmlnaHQ6IDc1JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTggew0KICAgICAgcmlnaHQ6IDY2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTcgew0KICAgICAgcmlnaHQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTYgew0KICAgICAgcmlnaHQ6IDUwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTUgew0KICAgICAgcmlnaHQ6IDQxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTQgew0KICAgICAgcmlnaHQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTMgew0KICAgICAgcmlnaHQ6IDI1JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTIgew0KICAgICAgcmlnaHQ6IDE2LjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdWxsLTEgew0KICAgICAgcmlnaHQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLW1kLXB1bGwtMCB7DQogICAgICByaWdodDogYXV0bzsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTEyIHsNCiAgICAgIGxlZnQ6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC0xMSB7DQogICAgICBsZWZ0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC0xMCB7DQogICAgICBsZWZ0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC05IHsNCiAgICAgIGxlZnQ6IDc1JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTggew0KICAgICAgbGVmdDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtNyB7DQogICAgICBsZWZ0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC02IHsNCiAgICAgIGxlZnQ6IDUwJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTUgew0KICAgICAgbGVmdDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtNCB7DQogICAgICBsZWZ0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtcHVzaC0zIHsNCiAgICAgIGxlZnQ6IDI1JTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTIgew0KICAgICAgbGVmdDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLXB1c2gtMSB7DQogICAgICBsZWZ0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1wdXNoLTAgew0KICAgICAgbGVmdDogYXV0bzsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMTIgew0KICAgICAgbWFyZ2luLWxlZnQ6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTExIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTEwIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTkgew0KICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtOCB7DQogICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC03IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTYgew0KICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtNSB7DQogICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC00IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbWQtb2Zmc2V0LTMgew0KICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMiB7DQogICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLW1kLW9mZnNldC0xIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1tZC1vZmZzZXQtMCB7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgew0KICAgIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICAgIC5jb2wtbGctMTIgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5jb2wtbGctMTEgew0KICAgICAgd2lkdGg6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy0xMCB7DQogICAgICB3aWR0aDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLTkgew0KICAgICAgd2lkdGg6IDc1JTsNCiAgICB9DQogICAgLmNvbC1sZy04IHsNCiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctNyB7DQogICAgICB3aWR0aDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLTYgew0KICAgICAgd2lkdGg6IDUwJTsNCiAgICB9DQogICAgLmNvbC1sZy01IHsNCiAgICAgIHdpZHRoOiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctNCB7DQogICAgICB3aWR0aDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLTMgew0KICAgICAgd2lkdGg6IDI1JTsNCiAgICB9DQogICAgLmNvbC1sZy0yIHsNCiAgICAgIHdpZHRoOiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctMSB7DQogICAgICB3aWR0aDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0xMiB7DQogICAgICByaWdodDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdWxsLTExIHsNCiAgICAgIHJpZ2h0OiA5MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0xMCB7DQogICAgICByaWdodDogODMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtOSB7DQogICAgICByaWdodDogNzUlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtOCB7DQogICAgICByaWdodDogNjYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtNyB7DQogICAgICByaWdodDogNTguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtNiB7DQogICAgICByaWdodDogNTAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtNSB7DQogICAgICByaWdodDogNDEuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtNCB7DQogICAgICByaWdodDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtMyB7DQogICAgICByaWdodDogMjUlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtMiB7DQogICAgICByaWdodDogMTYuNjY2NjY2NjclOw0KICAgIH0NCiAgICAuY29sLWxnLXB1bGwtMSB7DQogICAgICByaWdodDogOC4zMzMzMzMzMyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVsbC0wIHsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMTIgew0KICAgICAgbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTExIHsNCiAgICAgIGxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTEwIHsNCiAgICAgIGxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTkgew0KICAgICAgbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtOCB7DQogICAgICBsZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC03IHsNCiAgICAgIGxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTYgew0KICAgICAgbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtNSB7DQogICAgICBsZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC00IHsNCiAgICAgIGxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1wdXNoLTMgew0KICAgICAgbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMiB7DQogICAgICBsZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctcHVzaC0xIHsNCiAgICAgIGxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLXB1c2gtMCB7DQogICAgICBsZWZ0OiBhdXRvOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0xMiB7DQogICAgICBtYXJnaW4tbGVmdDogMTAwJTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtMTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY3JTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtMTAgew0KICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtOSB7DQogICAgICBtYXJnaW4tbGVmdDogNzUlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC04IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTcgew0KICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtNiB7DQogICAgICBtYXJnaW4tbGVmdDogNTAlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC01IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTQgew0KICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzJTsNCiAgICB9DQogICAgLmNvbC1sZy1vZmZzZXQtMyB7DQogICAgICBtYXJnaW4tbGVmdDogMjUlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0yIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NyU7DQogICAgfQ0KICAgIC5jb2wtbGctb2Zmc2V0LTEgew0KICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMlOw0KICAgIH0NCiAgICAuY29sLWxnLW9mZnNldC0wIHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICB0YWJsZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgY2FwdGlvbiB7DQogICAgcGFkZGluZy10b3A6IDhweDsNCiAgICBwYWRkaW5nLWJvdHRvbTogOHB4Ow0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgdGggew0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogIH0NCiAgLnRhYmxlIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLA0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkIHsNCiAgICBwYWRkaW5nOiA4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgdmVydGljYWwtYWxpZ246IHRvcDsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGggew0KICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207DQogICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsDQogIC50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwNCiAgLnRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwNCiAgLnRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCB7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgfQ0KICAudGFibGUgPiB0Ym9keSArIHRib2R5IHsNCiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUgLnRhYmxlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgsDQogIC50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGgsDQogIC50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGgsDQogIC50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGQsDQogIC50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGQsDQogIC50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGQgew0KICAgIHBhZGRpbmc6IDVweDsNCiAgfQ0KICAudGFibGUtYm9yZGVyZWQgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoLA0KICAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCwNCiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkLA0KICAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCB7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsDQogIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCB7DQogICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4Ow0KICB9DQogIC50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5Ow0KICB9DQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogIH0NCiAgdGFibGUgY29sW2NsYXNzKj0iY29sLSJdIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KICAgIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjsNCiAgICBmbG9hdDogbm9uZTsNCiAgfQ0KICB0YWJsZSB0ZFtjbGFzcyo9ImNvbC0iXSwNCiAgdGFibGUgdGhbY2xhc3MqPSJjb2wtIl0gew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQogICAgZGlzcGxheTogdGFibGUtY2VsbDsNCiAgICBmbG9hdDogbm9uZTsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQuYWN0aXZlLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQuYWN0aXZlLA0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGguYWN0aXZlLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGguYWN0aXZlLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGguYWN0aXZlLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRkLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRkLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLmFjdGl2ZSA+IHRoLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICB9DQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5hY3RpdmU6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmU6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuYWN0aXZlOmhvdmVyID4gdGQsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuYWN0aXZlLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4Ow0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5zdWNjZXNzLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQuc3VjY2VzcywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5zdWNjZXNzLA0KICAudGFibGUgPiB0Ym9keSA+IHRyID4gdGguc3VjY2VzcywNCiAgLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRoLnN1Y2Nlc3MsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuc3VjY2VzcyA+IHRkLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0ZCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuc3VjY2VzcyA+IHRoLA0KICAudGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0aCwNCiAgLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLnN1Y2Nlc3M6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5zdWNjZXNzOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnN1Y2Nlc3M6aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5zdWNjZXNzLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnN1Y2Nlc3M6aG92ZXIgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjsNCiAgfQ0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQuaW5mbywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmluZm8sDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5pbmZvLA0KICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGguaW5mbywNCiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmluZm8sDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5pbmZvLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLmluZm8gPiB0ZCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5pbmZvID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLA0KICAudGFibGUgPiB0aGVhZCA+IHRyLmluZm8gPiB0aCwNCiAgLnRhYmxlID4gdGJvZHkgPiB0ci5pbmZvID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3Ow0KICB9DQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvOmhvdmVyLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguaW5mbzpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5pbmZvOmhvdmVyID4gdGQsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuaW5mbywNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5pbmZvOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGUzZjM7DQogIH0NCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLndhcm5pbmcsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQud2FybmluZywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLndhcm5pbmcsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC53YXJuaW5nLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZywNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci53YXJuaW5nID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIud2FybmluZyA+IHRkLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0ZCwNCiAgLnRhYmxlID4gdGhlYWQgPiB0ci53YXJuaW5nID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIud2FybmluZyA+IHRoLA0KICAudGFibGUgPiB0Zm9vdCA+IHRyLndhcm5pbmcgPiB0aCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgfQ0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGQud2FybmluZzpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmc6aG92ZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRkLA0KICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyOmhvdmVyID4gLndhcm5pbmcsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRoIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmMmNjOw0KICB9DQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5kYW5nZXIsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5kYW5nZXIsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsDQogIC50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5kYW5nZXIsDQogIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXIsDQogIC50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5kYW5nZXIsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGQsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuZGFuZ2VyID4gdGQsDQogIC50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGQsDQogIC50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGgsDQogIC50YWJsZSA+IHRib2R5ID4gdHIuZGFuZ2VyID4gdGgsDQogIC50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogIH0NCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcjpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmRhbmdlcjpob3ZlciwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0ZCwNCiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5kYW5nZXIsDQogIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuZGFuZ2VyOmhvdmVyID4gdGggew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmNjY2M7DQogIH0NCiAgLnRhYmxlLXJlc3BvbnNpdmUgew0KICAgIG1pbi1oZWlnaHQ6IC4wMSU7DQogICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgfQ0KICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC50YWJsZS1yZXNwb25zaXZlIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsNCiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOw0KICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0aGVhZCA+IHRyID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQgew0KICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgew0KICAgICAgYm9yZGVyOiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7DQogICAgICBib3JkZXItbGVmdDogMDsNCiAgICB9DQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6bGFzdC1jaGlsZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQgew0KICAgICAgYm9yZGVyLXJpZ2h0OiAwOw0KICAgIH0NCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLA0KICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0ZCwNCiAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkIHsNCiAgICAgIGJvcmRlci1ib3R0b206IDA7DQogICAgfQ0KICB9DQogIGZpZWxkc2V0IHsNCiAgICBtaW4td2lkdGg6IDA7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIGxlZ2VuZCB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGZvbnQtc2l6ZTogMjFweDsNCiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBib3JkZXI6IDA7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7DQogIH0NCiAgbGFiZWwgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICB9DQogIGlucHV0W3R5cGU9InNlYXJjaCJdIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgfQ0KICBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICBtYXJnaW46IDRweCAwIDA7DQogICAgbWFyZ2luLXRvcDogMXB4IFw5Ow0KICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7DQogIH0NCiAgaW5wdXRbdHlwZT0iZmlsZSJdIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICBpbnB1dFt0eXBlPSJyYW5nZSJdIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICBzZWxlY3RbbXVsdGlwbGVdLA0KICBzZWxlY3Rbc2l6ZV0gew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICBpbnB1dFt0eXBlPSJmaWxlIl06Zm9jdXMsDQogIGlucHV0W3R5cGU9InJhZGlvIl06Zm9jdXMsDQogIGlucHV0W3R5cGU9ImNoZWNrYm94Il06Zm9jdXMgew0KICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsNCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgfQ0KICBvdXRwdXQgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmctdG9wOiA3cHg7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICAgIGNvbG9yOiAjNTU1Ow0KICB9DQogIC5mb3JtLWNvbnRyb2wgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMzRweDsNCiAgICBwYWRkaW5nOiA2cHggMTJweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICM1NTU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCAtd2Via2l0LWJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOw0KICB9DQogIC5mb3JtLWNvbnRyb2w6Zm9jdXMgew0KICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTsNCiAgICBvdXRsaW5lOiAwOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAuNik7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIC42KTsNCiAgfQ0KICAuZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogIzk5OTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIC5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogIzk5OTsNCiAgfQ0KICAuZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICBjb2xvcjogIzk5OTsNCiAgfQ0KICAuZm9ybS1jb250cm9sOjotbXMtZXhwYW5kIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLmZvcm0tY29udHJvbFtkaXNhYmxlZF0sDQogIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbCB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbCB7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgfQ0KICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICBpbnB1dFt0eXBlPSJzZWFyY2giXSB7DQogICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOw0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHsNCiAgICBpbnB1dFt0eXBlPSJkYXRlIl0uZm9ybS1jb250cm9sLA0KICAgIGlucHV0W3R5cGU9InRpbWUiXS5mb3JtLWNvbnRyb2wsDQogICAgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXS5mb3JtLWNvbnRyb2wsDQogICAgaW5wdXRbdHlwZT0ibW9udGgiXS5mb3JtLWNvbnRyb2wgew0KICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgfQ0KICAgIGlucHV0W3R5cGU9ImRhdGUiXS5pbnB1dC1zbSwNCiAgICBpbnB1dFt0eXBlPSJ0aW1lIl0uaW5wdXQtc20sDQogICAgaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXS5pbnB1dC1zbSwNCiAgICBpbnB1dFt0eXBlPSJtb250aCJdLmlucHV0LXNtLA0KICAgIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPSJkYXRlIl0sDQogICAgLmlucHV0LWdyb3VwLXNtIGlucHV0W3R5cGU9InRpbWUiXSwNCiAgICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSwNCiAgICAuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT0ibW9udGgiXSB7DQogICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICB9DQogICAgaW5wdXRbdHlwZT0iZGF0ZSJdLmlucHV0LWxnLA0KICAgIGlucHV0W3R5cGU9InRpbWUiXS5pbnB1dC1sZywNCiAgICBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLmlucHV0LWxnLA0KICAgIGlucHV0W3R5cGU9Im1vbnRoIl0uaW5wdXQtbGcsDQogICAgLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ImRhdGUiXSwNCiAgICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT0idGltZSJdLA0KICAgIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPSJkYXRldGltZS1sb2NhbCJdLA0KICAgIC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPSJtb250aCJdIHsNCiAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIH0NCiAgfQ0KICAuZm9ybS1ncm91cCB7DQogICAgbWFyZ2luLWJvdHRvbTogMTVweDsNCiAgfQ0KICAucmFkaW8sDQogIC5jaGVja2JveCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbi10b3A6IDEwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgfQ0KICAucmFkaW8gbGFiZWwsDQogIC5jaGVja2JveCBsYWJlbCB7DQogICAgbWluLWhlaWdodDogMjBweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBmb250LXdlaWdodDogbm9ybWFsOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXSwNCiAgLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgbWFyZ2luLXRvcDogNHB4IFw5Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMjBweDsNCiAgfQ0KICAucmFkaW8gKyAucmFkaW8sDQogIC5jaGVja2JveCArIC5jaGVja2JveCB7DQogICAgbWFyZ2luLXRvcDogLTVweDsNCiAgfQ0KICAucmFkaW8taW5saW5lLA0KICAuY2hlY2tib3gtaW5saW5lIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmctbGVmdDogMjBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsDQogIC5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIG1hcmdpbi1sZWZ0OiAxMHB4Ow0KICB9DQogIGlucHV0W3R5cGU9InJhZGlvIl1bZGlzYWJsZWRdLA0KICBpbnB1dFt0eXBlPSJjaGVja2JveCJdW2Rpc2FibGVkXSwNCiAgaW5wdXRbdHlwZT0icmFkaW8iXS5kaXNhYmxlZCwNCiAgaW5wdXRbdHlwZT0iY2hlY2tib3giXS5kaXNhYmxlZCwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICB9DQogIC5yYWRpby1pbmxpbmUuZGlzYWJsZWQsDQogIC5jaGVja2JveC1pbmxpbmUuZGlzYWJsZWQsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5lLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94LWlubGluZSB7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgfQ0KICAucmFkaW8uZGlzYWJsZWQgbGFiZWwsDQogIC5jaGVja2JveC5kaXNhYmxlZCBsYWJlbCwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCB7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgfQ0KICAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgbWluLWhlaWdodDogMzRweDsNCiAgICBwYWRkaW5nLXRvcDogN3B4Ow0KICAgIHBhZGRpbmctYm90dG9tOiA3cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1sZywNCiAgLmZvcm0tY29udHJvbC1zdGF0aWMuaW5wdXQtc20gew0KICAgIHBhZGRpbmctcmlnaHQ6IDA7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICB9DQogIC5pbnB1dC1zbSB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICBzZWxlY3QuaW5wdXQtc20gew0KICAgIGhlaWdodDogMzBweDsNCiAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgfQ0KICB0ZXh0YXJlYS5pbnB1dC1zbSwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogMzBweDsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmZvcm0tZ3JvdXAtc20gc2VsZWN0LmZvcm0tY29udHJvbCB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICB9DQogIC5mb3JtLWdyb3VwLXNtIHRleHRhcmVhLmZvcm0tY29udHJvbCwNCiAgLmZvcm0tZ3JvdXAtc20gc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICAuZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIG1pbi1oZWlnaHQ6IDMycHg7DQogICAgcGFkZGluZzogNnB4IDEwcHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogIH0NCiAgLmlucHV0LWxnIHsNCiAgICBoZWlnaHQ6IDQ2cHg7DQogICAgcGFkZGluZzogMTBweCAxNnB4Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzOw0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgfQ0KICBzZWxlY3QuaW5wdXQtbGcgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgfQ0KICB0ZXh0YXJlYS5pbnB1dC1sZywNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1sZyB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC5mb3JtLWdyb3VwLWxnIHNlbGVjdC5mb3JtLWNvbnRyb2wgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgfQ0KICAuZm9ybS1ncm91cC1sZyB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsDQogIC5mb3JtLWdyb3VwLWxnIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHsNCiAgICBoZWlnaHQ6IGF1dG87DQogIH0NCiAgLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdGF0aWMgew0KICAgIGhlaWdodDogNDZweDsNCiAgICBtaW4taGVpZ2h0OiAzOHB4Ow0KICAgIHBhZGRpbmc6IDExcHggMTZweDsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIH0NCiAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiA0Mi41cHg7DQogIH0NCiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICB6LWluZGV4OiAyOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAzNHB4Ow0KICAgIGhlaWdodDogMzRweDsNCiAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIH0NCiAgLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjaywNCiAgLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjaywNCiAgLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIHdpZHRoOiA0NnB4Ow0KICAgIGhlaWdodDogNDZweDsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgfQ0KICAuaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLA0KICAuZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgd2lkdGg6IDMwcHg7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICB9DQogIC5oYXMtc3VjY2VzcyAuaGVscC1ibG9jaywNCiAgLmhhcy1zdWNjZXNzIC5jb250cm9sLWxhYmVsLA0KICAuaGFzLXN1Y2Nlc3MgLnJhZGlvLA0KICAuaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LA0KICAuaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSwNCiAgLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsDQogIC5oYXMtc3VjY2Vzcy5yYWRpbyBsYWJlbCwNCiAgLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLA0KICAuaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLA0KICAuaGFzLXN1Y2Nlc3MuY2hlY2tib3gtaW5saW5lIGxhYmVsIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCB7DQogICAgYm9yZGVyLWNvbG9yOiAjM2M3NjNkOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgfQ0KICAuaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgYm9yZGVyLWNvbG9yOiAjMmI1NDJjOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggIzY3YjE2ODsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgNnB4ICM2N2IxNjg7DQogIH0NCiAgLmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbiB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgICBib3JkZXItY29sb3I6ICMzYzc2M2Q7DQogIH0NCiAgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICB9DQogIC5oYXMtd2FybmluZyAuaGVscC1ibG9jaywNCiAgLmhhcy13YXJuaW5nIC5jb250cm9sLWxhYmVsLA0KICAuaGFzLXdhcm5pbmcgLnJhZGlvLA0KICAuaGFzLXdhcm5pbmcgLmNoZWNrYm94LA0KICAuaGFzLXdhcm5pbmcgLnJhZGlvLWlubGluZSwNCiAgLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsDQogIC5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCwNCiAgLmhhcy13YXJuaW5nLmNoZWNrYm94IGxhYmVsLA0KICAuaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVsLA0KICAuaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbCB7DQogICAgYm9yZGVyLWNvbG9yOiAjOGE2ZDNiOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgfQ0KICAuaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgYm9yZGVyLWNvbG9yOiAjNjY1MTJjOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2MwYTE2YjsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgNnB4ICNjMGExNmI7DQogIH0NCiAgLmhhcy13YXJuaW5nIC5pbnB1dC1ncm91cC1hZGRvbiB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5oYXMtZXJyb3IgLmhlbHAtYmxvY2ssDQogIC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsDQogIC5oYXMtZXJyb3IgLnJhZGlvLA0KICAuaGFzLWVycm9yIC5jaGVja2JveCwNCiAgLmhhcy1lcnJvciAucmFkaW8taW5saW5lLA0KICAuaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsDQogIC5oYXMtZXJyb3IucmFkaW8gbGFiZWwsDQogIC5oYXMtZXJyb3IuY2hlY2tib3ggbGFiZWwsDQogIC5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVsLA0KICAuaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHsNCiAgICBib3JkZXItY29sb3I6ICNhOTQ0NDI7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpOw0KICB9DQogIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgYm9yZGVyLWNvbG9yOiAjODQzNTM0Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA2cHggI2NlODQ4MzsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7DQogIH0NCiAgLmhhcy1lcnJvciAuaW5wdXQtZ3JvdXAtYWRkb24gew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogICAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyOw0KICB9DQogIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogIH0NCiAgLmhhcy1mZWVkYmFjayBsYWJlbCB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgIHRvcDogMjVweDsNCiAgfQ0KICAuaGFzLWZlZWRiYWNrIGxhYmVsLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHsNCiAgICB0b3A6IDA7DQogIH0NCiAgLmhlbHAtYmxvY2sgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG1hcmdpbi10b3A6IDVweDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIGNvbG9yOiAjNzM3MzczOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5mb3JtLWlubGluZSAuZm9ybS1ncm91cCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgICAgd2lkdGg6IGF1dG87DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLA0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0biwNCiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wgew0KICAgICAgd2lkdGg6IGF1dG87DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgIH0NCiAgICAuZm9ybS1pbmxpbmUgLmNvbnRyb2wtbGFiZWwgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAucmFkaW8sDQogICAgLmZvcm0taW5saW5lIC5jaGVja2JveCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWwsDQogICAgLmZvcm0taW5saW5lIC5jaGVja2JveCBsYWJlbCB7DQogICAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT0icmFkaW8iXSwNCiAgICAuZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICAgIC5mb3JtLWlubGluZSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sgew0KICAgICAgdG9wOiAwOw0KICAgIH0NCiAgfQ0KICAuZm9ybS1ob3Jpem9udGFsIC5yYWRpbywNCiAgLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gsDQogIC5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZSwNCiAgLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gtaW5saW5lIHsNCiAgICBwYWRkaW5nLXRvcDogN3B4Ow0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAuZm9ybS1ob3Jpem9udGFsIC5yYWRpbywNCiAgLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3ggew0KICAgIG1pbi1oZWlnaHQ6IDI3cHg7DQogIH0NCiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCB7DQogICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICBtYXJnaW4tbGVmdDogLTE1cHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbCB7DQogICAgICBwYWRkaW5nLXRvcDogN3B4Ow0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIH0NCiAgfQ0KICAuZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgcmlnaHQ6IDE1cHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cC1sZyAuY29udHJvbC1sYWJlbCB7DQogICAgICBwYWRkaW5nLXRvcDogMTFweDsNCiAgICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cC1zbSAuY29udHJvbC1sYWJlbCB7DQogICAgICBwYWRkaW5nLXRvcDogNnB4Ow0KICAgICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIH0NCiAgfQ0KICAuYnRuIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZzogNnB4IDEycHg7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsNCiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLmJ0bjpmb2N1cywNCiAgLmJ0bjphY3RpdmU6Zm9jdXMsDQogIC5idG4uYWN0aXZlOmZvY3VzLA0KICAuYnRuLmZvY3VzLA0KICAuYnRuOmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi5hY3RpdmUuZm9jdXMgew0KICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsNCiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsNCiAgfQ0KICAuYnRuOmhvdmVyLA0KICAuYnRuOmZvY3VzLA0KICAuYnRuLmZvY3VzIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogIH0NCiAgLmJ0bjphY3RpdmUsDQogIC5idG4uYWN0aXZlIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIG91dGxpbmU6IDA7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIC4xMjUpOw0KICB9DQogIC5idG4uZGlzYWJsZWQsDQogIC5idG5bZGlzYWJsZWRdLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgb3BhY2l0eTogLjY1Ow0KICB9DQogIGEuYnRuLmRpc2FibGVkLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gYS5idG4gew0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICB9DQogIC5idG4tZGVmYXVsdCB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNjY2M7DQogIH0NCiAgLmJ0bi1kZWZhdWx0OmZvY3VzLA0KICAuYnRuLWRlZmF1bHQuZm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7DQogICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOw0KICB9DQogIC5idG4tZGVmYXVsdDpob3ZlciB7DQogICAgY29sb3I6ICMzMzM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsNCiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7DQogIH0NCiAgLmJ0bi1kZWZhdWx0OmFjdGl2ZSwNCiAgLmJ0bi1kZWZhdWx0LmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0IHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2Ow0KICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQ6aG92ZXIsDQogIC5idG4tZGVmYXVsdDphY3RpdmU6Zm9jdXMsDQogIC5idG4tZGVmYXVsdC5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpmb2N1cywNCiAgLmJ0bi1kZWZhdWx0OmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi1kZWZhdWx0LmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmZvY3VzIHsNCiAgICBjb2xvcjogIzMzMzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0Ow0KICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsNCiAgfQ0KICAuYnRuLWRlZmF1bHQ6YWN0aXZlLA0KICAuYnRuLWRlZmF1bHQuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmhvdmVyLA0KICAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsDQogIC5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNjY2M7DQogIH0NCiAgLmJ0bi1kZWZhdWx0IC5iYWRnZSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCiAgfQ0KICAuYnRuLXByaW1hcnkgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLWNvbG9yOiAjMmU2ZGE0Ow0KICB9DQogIC5idG4tcHJpbWFyeTpmb2N1cywNCiAgLmJ0bi1wcmltYXJ5LmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwOw0KICAgIGJvcmRlci1jb2xvcjogIzEyMmI0MDsNCiAgfQ0KICAuYnRuLXByaW1hcnk6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7DQogICAgYm9yZGVyLWNvbG9yOiAjMjA0ZDc0Ow0KICB9DQogIC5idG4tcHJpbWFyeTphY3RpdmUsDQogIC5idG4tcHJpbWFyeS5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDsNCiAgICBib3JkZXItY29sb3I6ICMyMDRkNzQ7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3ZlciwNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmhvdmVyLA0KICAuYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLA0KICAuYnRuLXByaW1hcnkuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6Zm9jdXMsDQogIC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsDQogIC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeS5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNGQ3NDsNCiAgICBib3JkZXItY29sb3I6ICMxMjJiNDA7DQogIH0NCiAgLmJ0bi1wcmltYXJ5OmFjdGl2ZSwNCiAgLmJ0bi1wcmltYXJ5LmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICB9DQogIC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwNCiAgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpob3ZlciwNCiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLA0KICAuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmZvY3VzLA0KICAuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsDQogIC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnkuZm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLWNvbG9yOiAjMmU2ZGE0Ow0KICB9DQogIC5idG4tcHJpbWFyeSAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjMzM3YWI3Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmJ0bi1zdWNjZXNzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjOw0KICAgIGJvcmRlci1jb2xvcjogIzRjYWU0YzsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3M6Zm9jdXMsDQogIC5idG4tc3VjY2Vzcy5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDsNCiAgICBib3JkZXItY29sb3I6ICMyNTU2MjU7DQogIH0NCiAgLmJ0bi1zdWNjZXNzOmhvdmVyIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ0Ow0KICAgIGJvcmRlci1jb2xvcjogIzM5ODQzOTsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3M6YWN0aXZlLA0KICAuYnRuLXN1Y2Nlc3MuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7DQogICAgYm9yZGVyLWNvbG9yOiAjMzk4NDM5Ow0KICB9DQogIC5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzczpob3ZlciwNCiAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cywNCiAgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzOmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3MuZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzOTg0Mzk7DQogICAgYm9yZGVyLWNvbG9yOiAjMjU1NjI1Ow0KICB9DQogIC5idG4tc3VjY2VzczphY3RpdmUsDQogIC5idG4tc3VjY2Vzcy5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2VzcyB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsDQogIC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6aG92ZXIsDQogIC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywNCiAgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpmb2N1cywNCiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLA0KICAuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjOw0KICAgIGJvcmRlci1jb2xvcjogIzRjYWU0YzsNCiAgfQ0KICAuYnRuLXN1Y2Nlc3MgLmJhZGdlIHsNCiAgICBjb2xvcjogIzVjYjg1YzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5idG4taW5mbyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTsNCiAgICBib3JkZXItY29sb3I6ICM0NmI4ZGE7DQogIH0NCiAgLmJ0bi1pbmZvOmZvY3VzLA0KICAuYnRuLWluZm8uZm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwZDU7DQogICAgYm9yZGVyLWNvbG9yOiAjMWI2ZDg1Ow0KICB9DQogIC5idG4taW5mbzpob3ZlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjBkNTsNCiAgICBib3JkZXItY29sb3I6ICMyNjlhYmM7DQogIH0NCiAgLmJ0bi1pbmZvOmFjdGl2ZSwNCiAgLmJ0bi1pbmZvLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1Ow0KICAgIGJvcmRlci1jb2xvcjogIzI2OWFiYzsNCiAgfQ0KICAuYnRuLWluZm86YWN0aXZlOmhvdmVyLA0KICAuYnRuLWluZm8uYWN0aXZlOmhvdmVyLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm86aG92ZXIsDQogIC5idG4taW5mbzphY3RpdmU6Zm9jdXMsDQogIC5idG4taW5mby5hY3RpdmU6Zm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpmb2N1cywNCiAgLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY5YWJjOw0KICAgIGJvcmRlci1jb2xvcjogIzFiNmQ4NTsNCiAgfQ0KICAuYnRuLWluZm86YWN0aXZlLA0KICAuYnRuLWluZm8uYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8gew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogIH0NCiAgLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLWluZm9bZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmhvdmVyLA0KICAuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86Zm9jdXMsDQogIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi1pbmZvW2Rpc2FibGVkXS5mb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mby5mb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTsNCiAgICBib3JkZXItY29sb3I6ICM0NmI4ZGE7DQogIH0NCiAgLmJ0bi1pbmZvIC5iYWRnZSB7DQogICAgY29sb3I6ICM1YmMwZGU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLXdhcm5pbmcgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7DQogICAgYm9yZGVyLWNvbG9yOiAjZWVhMjM2Ow0KICB9DQogIC5idG4td2FybmluZzpmb2N1cywNCiAgLmJ0bi13YXJuaW5nLmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5NzFmOw0KICAgIGJvcmRlci1jb2xvcjogIzk4NWYwZDsNCiAgfQ0KICAuYnRuLXdhcm5pbmc6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7DQogICAgYm9yZGVyLWNvbG9yOiAjZDU4NTEyOw0KICB9DQogIC5idG4td2FybmluZzphY3RpdmUsDQogIC5idG4td2FybmluZy5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjsNCiAgICBib3JkZXItY29sb3I6ICNkNTg1MTI7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3ZlciwNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3ZlciwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nOmhvdmVyLA0KICAuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLA0KICAuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6Zm9jdXMsDQogIC5idG4td2FybmluZzphY3RpdmUuZm9jdXMsDQogIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZy5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ODUxMjsNCiAgICBib3JkZXItY29sb3I6ICM5ODVmMGQ7DQogIH0NCiAgLmJ0bi13YXJuaW5nOmFjdGl2ZSwNCiAgLmJ0bi13YXJuaW5nLmFjdGl2ZSwNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICB9DQogIC5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlciwNCiAgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpob3ZlciwNCiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLA0KICAuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmZvY3VzLA0KICAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsDQogIC5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcuZm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7DQogICAgYm9yZGVyLWNvbG9yOiAjZWVhMjM2Ow0KICB9DQogIC5idG4td2FybmluZyAuYmFkZ2Ugew0KICAgIGNvbG9yOiAjZjBhZDRlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmJ0bi1kYW5nZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7DQogICAgYm9yZGVyLWNvbG9yOiAjZDQzZjNhOw0KICB9DQogIC5idG4tZGFuZ2VyOmZvY3VzLA0KICAuYnRuLWRhbmdlci5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYzsNCiAgICBib3JkZXItY29sb3I6ICM3NjFjMTk7DQogIH0NCiAgLmJ0bi1kYW5nZXI6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjOTMwMmM7DQogICAgYm9yZGVyLWNvbG9yOiAjYWMyOTI1Ow0KICB9DQogIC5idG4tZGFuZ2VyOmFjdGl2ZSwNCiAgLmJ0bi1kYW5nZXIuYWN0aXZlLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlciB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYzsNCiAgICBib3JkZXItY29sb3I6ICNhYzI5MjU7DQogIH0NCiAgLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLA0KICAuYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyOmhvdmVyLA0KICAuYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsDQogIC5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywNCiAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6Zm9jdXMsDQogIC5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywNCiAgLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLA0KICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlci5mb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2FjMjkyNTsNCiAgICBib3JkZXItY29sb3I6ICM3NjFjMTk7DQogIH0NCiAgLmJ0bi1kYW5nZXI6YWN0aXZlLA0KICAuYnRuLWRhbmdlci5hY3RpdmUsDQogIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICB9DQogIC5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLA0KICAuYnRuLWRhbmdlcltkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpob3ZlciwNCiAgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsDQogIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmZvY3VzLA0KICAuYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywNCiAgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLmZvY3VzLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7DQogICAgYm9yZGVyLWNvbG9yOiAjZDQzZjNhOw0KICB9DQogIC5idG4tZGFuZ2VyIC5iYWRnZSB7DQogICAgY29sb3I6ICNkOTUzNGY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAuYnRuLWxpbmsgew0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWxpbmssDQogIC5idG4tbGluazphY3RpdmUsDQogIC5idG4tbGluay5hY3RpdmUsDQogIC5idG4tbGlua1tkaXNhYmxlZF0sDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbmsgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogIH0NCiAgLmJ0bi1saW5rLA0KICAuYnRuLWxpbms6aG92ZXIsDQogIC5idG4tbGluazpmb2N1cywNCiAgLmJ0bi1saW5rOmFjdGl2ZSB7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAuYnRuLWxpbms6aG92ZXIsDQogIC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICMyMzUyN2M7DQogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpob3ZlciwNCiAgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB9DQogIC5idG4tbGcsDQogIC5idG4tZ3JvdXAtbGcgPiAuYnRuIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC5idG4tc20sDQogIC5idG4tZ3JvdXAtc20gPiAuYnRuIHsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgLmJ0bi14cywNCiAgLmJ0bi1ncm91cC14cyA+IC5idG4gew0KICAgIHBhZGRpbmc6IDFweCA1cHg7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjU7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIC5idG4tYmxvY2sgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHsNCiAgICBtYXJnaW4tdG9wOiA1cHg7DQogIH0NCiAgaW5wdXRbdHlwZT0ic3VibWl0Il0uYnRuLWJsb2NrLA0KICBpbnB1dFt0eXBlPSJyZXNldCJdLmJ0bi1ibG9jaywNCiAgaW5wdXRbdHlwZT0iYnV0dG9uIl0uYnRuLWJsb2NrIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KICAuZmFkZSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjE1cyBsaW5lYXI7DQogICAgICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOw0KICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjsNCiAgfQ0KICAuZmFkZS5pbiB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICAuY29sbGFwc2Ugew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLmNvbGxhcHNlLmluIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICB0ci5jb2xsYXBzZS5pbiB7DQogICAgZGlzcGxheTogdGFibGUtcm93Ow0KICB9DQogIHRib2R5LmNvbGxhcHNlLmluIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7DQogIH0NCiAgLmNvbGxhcHNpbmcgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBoZWlnaHQ6IDA7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOw0KICAgICAgICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7DQogICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IC4zNXM7DQogICAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzOw0KICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1czsNCiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTsNCiAgICAgICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTsNCiAgICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTsNCiAgfQ0KICAuY2FyZXQgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDA7DQogICAgbWFyZ2luLWxlZnQ6IDJweDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGJvcmRlci10b3A6IDRweCBkYXNoZWQ7DQogICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIFw5Ow0KICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7DQogIH0NCiAgLmRyb3B1cCwNCiAgLmRyb3Bkb3duIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIH0NCiAgLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMTAwJTsNCiAgICBsZWZ0OiAwOw0KICAgIHotaW5kZXg6IDEwMDA7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBtaW4td2lkdGg6IDE2MHB4Ow0KICAgIHBhZGRpbmc6IDVweCAwOw0KICAgIG1hcmdpbjogMnB4IDAgMDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjE1KTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMnB4IHJnYmEoMCwgMCwgMCwgLjE3NSk7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUucHVsbC1yaWdodCB7DQogICAgcmlnaHQ6IDA7DQogICAgbGVmdDogYXV0bzsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSAuZGl2aWRlciB7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgbWFyZ2luOiA5cHggMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDNweCAyMHB4Ow0KICAgIGNsZWFyOiBib3RoOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzM7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgfQ0KICAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwNCiAgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjMjYyNjI2Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICB9DQogIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsDQogIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3Ow0KICAgIG91dGxpbmU6IDA7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLA0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsDQogIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTsNCiAgfQ0KICAub3BlbiA+IC5kcm9wZG93bi1tZW51IHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICAub3BlbiA+IGEgew0KICAgIG91dGxpbmU6IDA7DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUtcmlnaHQgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7DQogICAgcmlnaHQ6IGF1dG87DQogICAgbGVmdDogMDsNCiAgfQ0KICAuZHJvcGRvd24taGVhZGVyIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiAzcHggMjBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICM3Nzc7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgfQ0KICAuZHJvcGRvd24tYmFja2Ryb3Agew0KICAgIHBvc2l0aW9uOiBmaXhlZDsNCiAgICB0b3A6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogOTkwOw0KICB9DQogIC5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgLmRyb3B1cCAuY2FyZXQsDQogIC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXQgew0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGJvcmRlci10b3A6IDA7DQogICAgYm9yZGVyLWJvdHRvbTogNHB4IGRhc2hlZDsNCiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgXDk7DQogIH0NCiAgLmRyb3B1cCAuZHJvcGRvd24tbWVudSwNCiAgLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHsNCiAgICB0b3A6IGF1dG87DQogICAgYm90dG9tOiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDJweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51IHsNCiAgICAgIHJpZ2h0OiAwOw0KICAgICAgbGVmdDogYXV0bzsNCiAgICB9DQogICAgLm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0IHsNCiAgICAgIHJpZ2h0OiBhdXRvOw0KICAgICAgbGVmdDogMDsNCiAgICB9DQogIH0NCiAgLmJ0bi1ncm91cCwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpob3ZlciwNCiAgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLA0KICAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSwNCiAgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUgew0KICAgIHotaW5kZXg6IDI7DQogIH0NCiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0biwNCiAgLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCwNCiAgLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0biwNCiAgLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogIH0NCiAgLmJ0bi10b29sYmFyIHsNCiAgICBtYXJnaW4tbGVmdDogLTVweDsNCiAgfQ0KICAuYnRuLXRvb2xiYXIgLmJ0biwNCiAgLmJ0bi10b29sYmFyIC5idG4tZ3JvdXAsDQogIC5idG4tdG9vbGJhciAuaW5wdXQtZ3JvdXAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICB9DQogIC5idG4tdG9vbGJhciA+IC5idG4sDQogIC5idG4tdG9vbGJhciA+IC5idG4tZ3JvdXAsDQogIC5idG4tdG9vbGJhciA+IC5pbnB1dC1ncm91cCB7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksDQogIC5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsDQogIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsDQogIC5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHsNCiAgICBvdXRsaW5lOiAwOw0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgcGFkZGluZy1yaWdodDogOHB4Ow0KICAgIHBhZGRpbmctbGVmdDogOHB4Ow0KICB9DQogIC5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgcGFkZGluZy1yaWdodDogMTJweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7DQogIH0NCiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUgew0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgLjEyNSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAuMTI1KTsNCiAgfQ0KICAuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tbGluayB7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgfQ0KICAuYnRuIC5jYXJldCB7DQogICAgbWFyZ2luLWxlZnQ6IDA7DQogIH0NCiAgLmJ0bi1sZyAuY2FyZXQgew0KICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwOw0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7DQogIH0NCiAgLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7DQogICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4gew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGZsb2F0OiBub25lOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1heC13aWR0aDogMTAwJTsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5idG4gew0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0biwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLWdyb3VwLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4sDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7DQogICAgbWFyZ2luLXRvcDogLTFweDsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHsNCiAgICBib3JkZXItcmFkaXVzOiAwOw0KICB9DQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQogIH0NCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7DQogICAgYm9yZGVyLXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpsYXN0LWNoaWxkLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCB7DQogICAgZGlzcGxheTogdGFibGU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGFibGUtbGF5b3V0OiBmaXhlZDsNCiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOw0KICB9DQogIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0biwNCiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgIGZsb2F0OiBub25lOw0KICAgIHdpZHRoOiAxJTsNCiAgfQ0KICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgLmJ0biB7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51IHsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0biBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICBbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIFtkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdID4gLmJ0biBpbnB1dFt0eXBlPSJjaGVja2JveCJdLA0KICBbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9ImNoZWNrYm94Il0gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOw0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICB9DQogIC5pbnB1dC1ncm91cCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IHRhYmxlOw0KICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7DQogIH0NCiAgLmlucHV0LWdyb3VwW2NsYXNzKj0iY29sLSJdIHsNCiAgICBmbG9hdDogbm9uZTsNCiAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHotaW5kZXg6IDI7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmb2N1cyB7DQogICAgei1pbmRleDogMzsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLA0KICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IDQ2cHg7DQogICAgcGFkZGluZzogMTBweCAxNnB4Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBsaW5lLWhlaWdodDogMS4zMzMzMzMzOw0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgfQ0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLA0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBoZWlnaHQ6IDQ2cHg7DQogICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogIH0NCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLA0KICB0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biwNCiAgc2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiBhdXRvOw0KICB9DQogIC5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLWNvbnRyb2wsDQogIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbiwNCiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogMzBweDsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNTsNCiAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogIH0NCiAgc2VsZWN0LmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCwNCiAgc2VsZWN0LmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICBzZWxlY3QuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICB9DQogIHRleHRhcmVhLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCwNCiAgdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIHRleHRhcmVhLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4sDQogIHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLA0KICBzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gew0KICAgIGhlaWdodDogYXV0bzsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb24sDQogIC5pbnB1dC1ncm91cC1idG4sDQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLA0KICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksDQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgew0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uLA0KICAuaW5wdXQtZ3JvdXAtYnRuIHsNCiAgICB3aWR0aDogMSU7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbiB7DQogICAgcGFkZGluZzogNnB4IDEycHg7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgY29sb3I6ICM1NTU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uLmlucHV0LXNtIHsNCiAgICBwYWRkaW5nOiA1cHggMTBweDsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICB9DQogIC5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1sZyB7DQogICAgcGFkZGluZzogMTBweCAxNnB4Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBib3JkZXItcmFkaXVzOiA2cHg7DQogIH0NCiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9InJhZGlvIl0sDQogIC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPSJjaGVja2JveCJdIHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICB9DQogIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLA0KICAuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci1yaWdodDogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLA0KICAuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCwNCiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sDQogIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsDQogIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4gew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLWxlZnQ6IDA7DQogIH0NCiAgLmlucHV0LWdyb3VwLWJ0biB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGZvbnQtc2l6ZTogMDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICB9DQogIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIH0NCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gKyAuYnRuIHsNCiAgICBtYXJnaW4tbGVmdDogLTFweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpob3ZlciwNCiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46Zm9jdXMsDQogIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmFjdGl2ZSB7DQogICAgei1pbmRleDogMjsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0biwNCiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgew0KICAgIG1hcmdpbi1yaWdodDogLTFweDsNCiAgfQ0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLA0KICAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHsNCiAgICB6LWluZGV4OiAyOw0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KICB9DQogIC5uYXYgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLm5hdiA+IGxpIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLm5hdiA+IGxpID4gYSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgfQ0KICAubmF2ID4gbGkgPiBhOmhvdmVyLA0KICAubmF2ID4gbGkgPiBhOmZvY3VzIHsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgfQ0KICAubmF2ID4gbGkuZGlzYWJsZWQgPiBhIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2ID4gbGkuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAubmF2ID4gbGkuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBub3QtYWxsb3dlZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2IC5vcGVuID4gYSwNCiAgLm5hdiAub3BlbiA+IGE6aG92ZXIsDQogIC5uYXYgLm9wZW4gPiBhOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICAgIGJvcmRlci1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAubmF2IC5uYXYtZGl2aWRlciB7DQogICAgaGVpZ2h0OiAxcHg7DQogICAgbWFyZ2luOiA5cHggMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7DQogIH0NCiAgLm5hdiA+IGxpID4gYSA+IGltZyB7DQogICAgbWF4LXdpZHRoOiBub25lOw0KICB9DQogIC5uYXYtdGFicyB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgLm5hdi10YWJzID4gbGkgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1hcmdpbi1ib3R0b206IC0xcHg7DQogIH0NCiAgLm5hdi10YWJzID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDJweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsNCiAgfQ0KICAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIgew0KICAgIGJvcmRlci1jb2xvcjogI2VlZSAjZWVlICNkZGQ7DQogIH0NCiAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwNCiAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpob3ZlciwNCiAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICM1NTU7DQogICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpIHsNCiAgICBmbG9hdDogbm9uZTsNCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7DQogICAgdG9wOiBhdXRvOw0KICAgIGxlZnQ6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOw0KICAgICAgd2lkdGg6IDElOw0KICAgIH0NCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIH0NCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhLA0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOw0KICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7DQogICAgfQ0KICAgIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGEsDQogICAgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgICAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQogICAgfQ0KICB9DQogIC5uYXYtcGlsbHMgPiBsaSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogIH0NCiAgLm5hdi1waWxscyA+IGxpID4gYSB7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXYtcGlsbHMgPiBsaSArIGxpIHsNCiAgICBtYXJnaW4tbGVmdDogMnB4Ow0KICB9DQogIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhLA0KICAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpob3ZlciwNCiAgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLm5hdi1zdGFja2VkID4gbGkgew0KICAgIGZsb2F0OiBub25lOw0KICB9DQogIC5uYXYtc3RhY2tlZCA+IGxpICsgbGkgew0KICAgIG1hcmdpbi10b3A6IDJweDsNCiAgICBtYXJnaW4tbGVmdDogMDsNCiAgfQ0KICAubmF2LWp1c3RpZmllZCB7DQogICAgd2lkdGg6IDEwMCU7DQogIH0NCiAgLm5hdi1qdXN0aWZpZWQgPiBsaSB7DQogICAgZmxvYXQ6IG5vbmU7DQogIH0NCiAgLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgIG1hcmdpbi1ib3R0b206IDVweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIH0NCiAgLm5hdi1qdXN0aWZpZWQgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgew0KICAgIHRvcDogYXV0bzsNCiAgICBsZWZ0OiBhdXRvOw0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXYtanVzdGlmaWVkID4gbGkgew0KICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsNCiAgICAgIHdpZHRoOiAxJTsNCiAgICB9DQogICAgLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEgew0KICAgICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICB9DQogIH0NCiAgLm5hdi10YWJzLWp1c3RpZmllZCB7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgfQ0KICAubmF2LXRhYnMtanVzdGlmaWVkID4gbGkgPiBhIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwNCiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSB7DQogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOw0KICAgIH0NCiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGEsDQogICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOw0KICAgIH0NCiAgfQ0KICAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLnRhYi1jb250ZW50ID4gLmFjdGl2ZSB7DQogICAgZGlzcGxheTogYmxvY2s7DQogIH0NCiAgLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHsNCiAgICBtYXJnaW4tdG9wOiAtMXB4Ow0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLm5hdmJhciB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1pbi1oZWlnaHQ6IDUwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1oZWFkZXIgew0KICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgfQ0KICB9DQogIC5uYXZiYXItY29sbGFwc2Ugew0KICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogICAgcGFkZGluZy1sZWZ0OiAxNXB4Ow0KICAgIG92ZXJmbG93LXg6IHZpc2libGU7DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpOw0KICB9DQogIC5uYXZiYXItY29sbGFwc2UuaW4gew0KICAgIG92ZXJmbG93LXk6IGF1dG87DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIGJvcmRlci10b3A6IDA7DQogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgfQ0KICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Ugew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50Ow0KICAgICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAubmF2YmFyLWNvbGxhcHNlLmluIHsNCiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7DQogICAgfQ0KICAgIC5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogICAgLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2UsDQogICAgLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSB7DQogICAgICBwYWRkaW5nLXJpZ2h0OiAwOw0KICAgICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLA0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHsNCiAgICBtYXgtaGVpZ2h0OiAzNDBweDsNCiAgfQ0KICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHsNCiAgICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLA0KICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Ugew0KICAgICAgbWF4LWhlaWdodDogMjAwcHg7DQogICAgfQ0KICB9DQogIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlciwNCiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItaGVhZGVyLA0KICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSwNCiAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Ugew0KICAgIG1hcmdpbi1yaWdodDogLTE1cHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlciwNCiAgICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsDQogICAgLmNvbnRhaW5lciA+IC5uYXZiYXItY29sbGFwc2UsDQogICAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Ugew0KICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgICAgbWFyZ2luLWxlZnQ6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItc3RhdGljLXRvcCB7DQogICAgei1pbmRleDogMTAwMDsNCiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1zdGF0aWMtdG9wIHsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDA7DQogICAgfQ0KICB9DQogIC5uYXZiYXItZml4ZWQtdG9wLA0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTAzMDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLWZpeGVkLXRvcCwNCiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7DQogICAgICBib3JkZXItcmFkaXVzOiAwOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWZpeGVkLXRvcCB7DQogICAgdG9wOiAwOw0KICAgIGJvcmRlci13aWR0aDogMCAwIDFweDsNCiAgfQ0KICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7DQogICAgYm90dG9tOiAwOw0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwOw0KICB9DQogIC5uYXZiYXItYnJhbmQgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGhlaWdodDogNTBweDsNCiAgICBwYWRkaW5nOiAxNXB4IDE1cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICB9DQogIC5uYXZiYXItYnJhbmQ6aG92ZXIsDQogIC5uYXZiYXItYnJhbmQ6Zm9jdXMgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgfQ0KICAubmF2YmFyLWJyYW5kID4gaW1nIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyID4gLmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLA0KICAgIC5uYXZiYXIgPiAuY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmQgew0KICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4Ow0KICAgIH0NCiAgfQ0KICAubmF2YmFyLXRvZ2dsZSB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGZsb2F0OiByaWdodDsNCiAgICBwYWRkaW5nOiA5cHggMTBweDsNCiAgICBtYXJnaW4tdG9wOiA4cHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDhweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIHdpZHRoOiAyMnB4Ow0KICAgIGhlaWdodDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDFweDsNCiAgfQ0KICAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIgKyAuaWNvbi1iYXIgew0KICAgIG1hcmdpbi10b3A6IDRweDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLXRvZ2dsZSB7DQogICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLW5hdiB7DQogICAgbWFyZ2luOiA3LjVweCAtMTVweDsNCiAgfQ0KICAubmF2YmFyLW5hdiA+IGxpID4gYSB7DQogICAgcGFkZGluZy10b3A6IDEwcHg7DQogICAgcGFkZGluZy1ib3R0b206IDEwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgew0KICAgICAgcG9zaXRpb246IHN0YXRpYzsNCiAgICAgIGZsb2F0OiBub25lOw0KICAgICAgd2lkdGg6IGF1dG87DQogICAgICBtYXJnaW4tdG9wOiAwOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICBib3JkZXI6IDA7DQogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgfQ0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhLA0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIgew0KICAgICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDI1cHg7DQogICAgfQ0KICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHsNCiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIH0NCiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwNCiAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7DQogICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubmF2YmFyLW5hdiB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICAgIG1hcmdpbjogMDsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgPiBsaSB7DQogICAgICBmbG9hdDogbGVmdDsNCiAgICB9DQogICAgLm5hdmJhci1uYXYgPiBsaSA+IGEgew0KICAgICAgcGFkZGluZy10b3A6IDE1cHg7DQogICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1mb3JtIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQogICAgbWFyZ2luLXRvcDogOHB4Ow0KICAgIG1hcmdpbi1yaWdodDogLTE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogOHB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xKTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSksIDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIH0NCiAgICAubmF2YmFyLWZvcm0gLmZvcm0tY29udHJvbCB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpYyB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgew0KICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sDQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRuLA0KICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wgew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbCB7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5yYWRpbywNCiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgIG1hcmdpbi10b3A6IDA7DQogICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5yYWRpbyBsYWJlbCwNCiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsIHsNCiAgICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5yYWRpbyBpbnB1dFt0eXBlPSJyYWRpbyJdLA0KICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICB9DQogICAgLm5hdmJhci1mb3JtIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7DQogICAgICB0b3A6IDA7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC5uYXZiYXItZm9ybSAuZm9ybS1ncm91cCB7DQogICAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogICAgfQ0KICAgIC5uYXZiYXItZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHsNCiAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItZm9ybSB7DQogICAgICB3aWR0aDogYXV0bzsNCiAgICAgIHBhZGRpbmctdG9wOiAwOw0KICAgICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICBtYXJnaW4tbGVmdDogMDsNCiAgICAgIGJvcmRlcjogMDsNCiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTsNCiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHsNCiAgICBtYXJnaW4tdG9wOiAwOw0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7DQogIH0NCiAgLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQogIH0NCiAgLm5hdmJhci1idG4gew0KICAgIG1hcmdpbi10b3A6IDhweDsNCiAgICBtYXJnaW4tYm90dG9tOiA4cHg7DQogIH0NCiAgLm5hdmJhci1idG4uYnRuLXNtIHsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogIH0NCiAgLm5hdmJhci1idG4uYnRuLXhzIHsNCiAgICBtYXJnaW4tdG9wOiAxNHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDE0cHg7DQogIH0NCiAgLm5hdmJhci10ZXh0IHsNCiAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDE1cHg7DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLm5hdmJhci10ZXh0IHsNCiAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4Ow0KICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgew0KICAgIC5uYXZiYXItbGVmdCB7DQogICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAubmF2YmFyLXJpZ2h0IHsNCiAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50Ow0KICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDsNCiAgICB9DQogICAgLm5hdmJhci1yaWdodCB+IC5uYXZiYXItcmlnaHQgew0KICAgICAgbWFyZ2luLXJpZ2h0OiAwOw0KICAgIH0NCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7DQogICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3ZlciwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmQ6Zm9jdXMgew0KICAgIGNvbG9yOiAjNWU1ZTVlOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNTU1Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYSwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3ZlciwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNjY2M7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIHsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODsNCiAgfQ0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItZm9ybSB7DQogICAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3Ow0KICB9DQogIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSwNCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNTU1Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHsNCiAgICAgIGNvbG9yOiAjNzc3Ow0KICAgIH0NCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsDQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjMzMzOw0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgfQ0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhLA0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjNTU1Ow0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNzsNCiAgICB9DQogICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSwNCiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgICAgY29sb3I6ICNjY2M7DQogICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB9DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluayB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluazpob3ZlciB7DQogICAgY29sb3I6ICMzMzM7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluayB7DQogICAgY29sb3I6ICM3Nzc7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3ZlciwNCiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyB7DQogICAgY29sb3I6ICMzMzM7DQogIH0NCiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLA0KICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywNCiAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMgew0KICAgIGNvbG9yOiAjY2NjOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsNCiAgICBib3JkZXItY29sb3I6ICMwODA4MDg7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQgew0KICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmhvdmVyLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dCB7DQogICAgY29sb3I6ICM5ZDlkOWQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhIHsNCiAgICBjb2xvcjogIzlkOWQ5ZDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICBjb2xvcjogIzQ0NDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgew0KICAgIGJvcmRlci1jb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCiAgfQ0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWNvbGxhcHNlLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3JtIHsNCiAgICBib3JkZXItY29sb3I6ICMxMDEwMTA7DQogIH0NCiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLA0KICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzA4MDgwODsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZHJvcGRvd24taGVhZGVyIHsNCiAgICAgIGJvcmRlci1jb2xvcjogIzA4MDgwODsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7DQogICAgfQ0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7DQogICAgICBjb2xvcjogIzlkOWQ5ZDsNCiAgICB9DQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLA0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7DQogICAgICBjb2xvcjogI2ZmZjsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIH0NCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpob3ZlciwNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7DQogICAgICBjb2xvcjogI2ZmZjsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwODA4MDg7DQogICAgfQ0KICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsDQogICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwNCiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHsNCiAgICAgIGNvbG9yOiAjNDQ0Ow0KICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgfQ0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbmsgew0KICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbms6aG92ZXIgew0KICAgIGNvbG9yOiAjZmZmOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmsgew0KICAgIGNvbG9yOiAjOWQ5ZDlkOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXIsDQogIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICB9DQogIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLA0KICBmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3ZlciwNCiAgLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsDQogIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzIHsNCiAgICBjb2xvcjogIzQ0NDsNCiAgfQ0KICAuYnJlYWRjcnVtYiB7DQogICAgcGFkZGluZzogOHB4IDE1cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICB9DQogIC5icmVhZGNydW1iID4gbGkgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgfQ0KICAuYnJlYWRjcnVtYiA+IGxpICsgbGk6YmVmb3JlIHsNCiAgICBwYWRkaW5nOiAwIDVweDsNCiAgICBjb2xvcjogI2NjYzsNCiAgICBjb250ZW50OiAiL1wwMGEwIjsNCiAgfQ0KICAuYnJlYWRjcnVtYiA+IC5hY3RpdmUgew0KICAgIGNvbG9yOiAjNzc3Ow0KICB9DQogIC5wYWdpbmF0aW9uIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbjogMjBweCAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmU7DQogIH0NCiAgLnBhZ2luYXRpb24gPiBsaSA+IGEsDQogIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgcGFkZGluZzogNnB4IDEycHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xcHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAucGFnaW5hdGlvbiA+IGxpOmZpcnN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24gPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4gew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7DQogIH0NCiAgLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gYSwNCiAgLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gc3BhbiB7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4Ow0KICB9DQogIC5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLA0KICAucGFnaW5hdGlvbiA+IGxpID4gc3Bhbjpob3ZlciwNCiAgLnBhZ2luYXRpb24gPiBsaSA+IGE6Zm9jdXMsDQogIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmZvY3VzIHsNCiAgICB6LWluZGV4OiAyOw0KICAgIGNvbG9yOiAjMjM1MjdjOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7DQogICAgYm9yZGVyLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGEsDQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sDQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46aG92ZXIsDQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsDQogIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMgew0KICAgIHotaW5kZXg6IDM7DQogICAgY29sb3I6ICNmZmY7DQogICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gc3BhbiwNCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IHNwYW46Zm9jdXMsDQogIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gYSwNCiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmhvdmVyLA0KICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMgew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNkZGQ7DQogIH0NCiAgLnBhZ2luYXRpb24tbGcgPiBsaSA+IGEsDQogIC5wYWdpbmF0aW9uLWxnID4gbGkgPiBzcGFuIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzM7DQogIH0NCiAgLnBhZ2luYXRpb24tbGcgPiBsaTpmaXJzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLWxnID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4Ow0KICB9DQogIC5wYWdpbmF0aW9uLWxnID4gbGk6bGFzdC1jaGlsZCA+IGEsDQogIC5wYWdpbmF0aW9uLWxnID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4gew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDsNCiAgfQ0KICAucGFnaW5hdGlvbi1zbSA+IGxpID4gYSwNCiAgLnBhZ2luYXRpb24tc20gPiBsaSA+IHNwYW4gew0KICAgIHBhZGRpbmc6IDVweCAxMHB4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMS41Ow0KICB9DQogIC5wYWdpbmF0aW9uLXNtID4gbGk6Zmlyc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbi1zbSA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFnaW5hdGlvbi1zbSA+IGxpOmxhc3QtY2hpbGQgPiBhLA0KICAucGFnaW5hdGlvbi1zbSA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhZ2VyIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luOiAyMHB4IDA7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogIH0NCiAgLnBhZ2VyIGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmU7DQogIH0NCiAgLnBhZ2VyIGxpID4gYSwNCiAgLnBhZ2VyIGxpID4gc3BhbiB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmc6IDVweCAxNHB4Ow0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCiAgICBib3JkZXItcmFkaXVzOiAxNXB4Ow0KICB9DQogIC5wYWdlciBsaSA+IGE6aG92ZXIsDQogIC5wYWdlciBsaSA+IGE6Zm9jdXMgew0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOw0KICB9DQogIC5wYWdlciAubmV4dCA+IGEsDQogIC5wYWdlciAubmV4dCA+IHNwYW4gew0KICAgIGZsb2F0OiByaWdodDsNCiAgfQ0KICAucGFnZXIgLnByZXZpb3VzID4gYSwNCiAgLnBhZ2VyIC5wcmV2aW91cyA+IHNwYW4gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICB9DQogIC5wYWdlciAuZGlzYWJsZWQgPiBhLA0KICAucGFnZXIgLmRpc2FibGVkID4gYTpob3ZlciwNCiAgLnBhZ2VyIC5kaXNhYmxlZCA+IGE6Zm9jdXMsDQogIC5wYWdlciAuZGlzYWJsZWQgPiBzcGFuIHsNCiAgICBjb2xvcjogIzc3NzsNCiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogIH0NCiAgLmxhYmVsIHsNCiAgICBkaXNwbGF5OiBpbmxpbmU7DQogICAgcGFkZGluZzogLjJlbSAuNmVtIC4zZW07DQogICAgZm9udC1zaXplOiA3NSU7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOw0KICAgIGJvcmRlci1yYWRpdXM6IC4yNWVtOw0KICB9DQogIGEubGFiZWw6aG92ZXIsDQogIGEubGFiZWw6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogIH0NCiAgLmxhYmVsOmVtcHR5IHsNCiAgICBkaXNwbGF5OiBub25lOw0KICB9DQogIC5idG4gLmxhYmVsIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAtMXB4Ow0KICB9DQogIC5sYWJlbC1kZWZhdWx0IHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Ow0KICB9DQogIC5sYWJlbC1kZWZhdWx0W2hyZWZdOmhvdmVyLA0KICAubGFiZWwtZGVmYXVsdFtocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTsNCiAgfQ0KICAubGFiZWwtcHJpbWFyeSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAubGFiZWwtcHJpbWFyeVtocmVmXTpob3ZlciwNCiAgLmxhYmVsLXByaW1hcnlbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7DQogIH0NCiAgLmxhYmVsLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogIH0NCiAgLmxhYmVsLXN1Y2Nlc3NbaHJlZl06aG92ZXIsDQogIC5sYWJlbC1zdWNjZXNzW2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ0Ow0KICB9DQogIC5sYWJlbC1pbmZvIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlOw0KICB9DQogIC5sYWJlbC1pbmZvW2hyZWZdOmhvdmVyLA0KICAubGFiZWwtaW5mb1tocmVmXTpmb2N1cyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjBkNTsNCiAgfQ0KICAubGFiZWwtd2FybmluZyB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsNCiAgfQ0KICAubGFiZWwtd2FybmluZ1tocmVmXTpob3ZlciwNCiAgLmxhYmVsLXdhcm5pbmdbaHJlZl06Zm9jdXMgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7DQogIH0NCiAgLmxhYmVsLWRhbmdlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgfQ0KICAubGFiZWwtZGFuZ2VyW2hyZWZdOmhvdmVyLA0KICAubGFiZWwtZGFuZ2VyW2hyZWZdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjOw0KICB9DQogIC5iYWRnZSB7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1pbi13aWR0aDogMTBweDsNCiAgICBwYWRkaW5nOiAzcHggN3B4Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBsaW5lLWhlaWdodDogMTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7DQogICAgYm9yZGVyLXJhZGl1czogMTBweDsNCiAgfQ0KICAuYmFkZ2U6ZW1wdHkgew0KICAgIGRpc3BsYXk6IG5vbmU7DQogIH0NCiAgLmJ0biAuYmFkZ2Ugew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0xcHg7DQogIH0NCiAgLmJ0bi14cyAuYmFkZ2UsDQogIC5idG4tZ3JvdXAteHMgPiAuYnRuIC5iYWRnZSB7DQogICAgdG9wOiAwOw0KICAgIHBhZGRpbmc6IDFweCA1cHg7DQogIH0NCiAgYS5iYWRnZTpob3ZlciwNCiAgYS5iYWRnZTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+IC5iYWRnZSwNCiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gLmJhZGdlIHsNCiAgICBjb2xvcjogIzMzN2FiNzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0gPiAuYmFkZ2Ugew0KICAgIGZsb2F0OiByaWdodDsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtID4gLmJhZGdlICsgLmJhZGdlIHsNCiAgICBtYXJnaW4tcmlnaHQ6IDVweDsNCiAgfQ0KICAubmF2LXBpbGxzID4gbGkgPiBhID4gLmJhZGdlIHsNCiAgICBtYXJnaW4tbGVmdDogM3B4Ow0KICB9DQogIC5qdW1ib3Ryb24gew0KICAgIHBhZGRpbmctdG9wOiAzMHB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAzMHB4Ow0KICAgIG1hcmdpbi1ib3R0b206IDMwcHg7DQogICAgY29sb3I6IGluaGVyaXQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgfQ0KICAuanVtYm90cm9uIGgxLA0KICAuanVtYm90cm9uIC5oMSB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmp1bWJvdHJvbiBwIHsNCiAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KICAgIGZvbnQtc2l6ZTogMjFweDsNCiAgICBmb250LXdlaWdodDogMjAwOw0KICB9DQogIC5qdW1ib3Ryb24gPiBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q1ZDVkNTsNCiAgfQ0KICAuY29udGFpbmVyIC5qdW1ib3Ryb24sDQogIC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbiB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICB9DQogIC5qdW1ib3Ryb24gLmNvbnRhaW5lciB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmp1bWJvdHJvbiB7DQogICAgICBwYWRkaW5nLXRvcDogNDhweDsNCiAgICAgIHBhZGRpbmctYm90dG9tOiA0OHB4Ow0KICAgIH0NCiAgICAuY29udGFpbmVyIC5qdW1ib3Ryb24sDQogICAgLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9uIHsNCiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7DQogICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7DQogICAgfQ0KICAgIC5qdW1ib3Ryb24gaDEsDQogICAgLmp1bWJvdHJvbiAuaDEgew0KICAgICAgZm9udC1zaXplOiA2M3B4Ow0KICAgIH0NCiAgfQ0KICAudGh1bWJuYWlsIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBwYWRkaW5nOiA0cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIC4ycyBlYXNlLWluLW91dDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjJzIGVhc2UtaW4tb3V0Ow0KICB9DQogIC50aHVtYm5haWwgPiBpbWcsDQogIC50aHVtYm5haWwgYSA+IGltZyB7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvOw0KICB9DQogIGEudGh1bWJuYWlsOmhvdmVyLA0KICBhLnRodW1ibmFpbDpmb2N1cywNCiAgYS50aHVtYm5haWwuYWN0aXZlIHsNCiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7DQogIH0NCiAgLnRodW1ibmFpbCAuY2FwdGlvbiB7DQogICAgcGFkZGluZzogOXB4Ow0KICAgIGNvbG9yOiAjMzMzOw0KICB9DQogIC5hbGVydCB7DQogICAgcGFkZGluZzogMTVweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgfQ0KICAuYWxlcnQgaDQgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgLmFsZXJ0IC5hbGVydC1saW5rIHsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgfQ0KICAuYWxlcnQgPiBwLA0KICAuYWxlcnQgPiB1bCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAuYWxlcnQgPiBwICsgcCB7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KICB9DQogIC5hbGVydC1kaXNtaXNzYWJsZSwNCiAgLmFsZXJ0LWRpc21pc3NpYmxlIHsNCiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4Ow0KICB9DQogIC5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsDQogIC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Ugew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0ycHg7DQogICAgcmlnaHQ6IC0yMXB4Ow0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5hbGVydC1zdWNjZXNzIHsNCiAgICBjb2xvcjogIzNjNzYzZDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4Ow0KICAgIGJvcmRlci1jb2xvcjogI2Q2ZTljNjsNCiAgfQ0KICAuYWxlcnQtc3VjY2VzcyBociB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2M5ZTJiMzsNCiAgfQ0KICAuYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICMyYjU0MmM7DQogIH0NCiAgLmFsZXJ0LWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7DQogICAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5hbGVydC1pbmZvIGhyIHsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjYTZlMWVjOw0KICB9DQogIC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHsNCiAgICBjb2xvcjogIzI0NTI2OTsNCiAgfQ0KICAuYWxlcnQtd2FybmluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMzsNCiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7DQogIH0NCiAgLmFsZXJ0LXdhcm5pbmcgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNmN2UxYjU7DQogIH0NCiAgLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsgew0KICAgIGNvbG9yOiAjNjY1MTJjOw0KICB9DQogIC5hbGVydC1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7DQogICAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxOw0KICB9DQogIC5hbGVydC1kYW5nZXIgaHIgew0KICAgIGJvcmRlci10b3AtY29sb3I6ICNlNGI5YzA7DQogIH0NCiAgLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7DQogICAgY29sb3I6ICM4NDM1MzQ7DQogIH0NCiAgQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHsNCiAgICBmcm9tIHsNCiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsNCiAgICB9DQogICAgdG8gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOw0KICAgIH0NCiAgfQ0KICBALW8ta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHsNCiAgICBmcm9tIHsNCiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsNCiAgICB9DQogICAgdG8gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOw0KICAgIH0NCiAgfQ0KICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHsNCiAgICBmcm9tIHsNCiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsNCiAgICB9DQogICAgdG8gew0KICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOw0KICAgIH0NCiAgfQ0KICAucHJvZ3Jlc3Mgew0KICAgIGhlaWdodDogMjBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuMSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuMSk7DQogIH0NCiAgLnByb2dyZXNzLWJhciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDA7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjE1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjE1KTsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIC42cyBlYXNlOw0KICAgICAgICAgLW8tdHJhbnNpdGlvbjogd2lkdGggLjZzIGVhc2U7DQogICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNnMgZWFzZTsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLA0KICAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7DQogICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDsNCiAgfQ0KICAucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsDQogIC5wcm9ncmVzcy1iYXIuYWN0aXZlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOw0KICAgICAgICAgLW8tYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7DQogICAgICAgICAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7DQogIH0NCiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1zdWNjZXNzIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyLWluZm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7DQogIH0NCiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZvIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyLXdhcm5pbmcgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7DQogIH0NCiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci13YXJuaW5nIHsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgfQ0KICAucHJvZ3Jlc3MtYmFyLWRhbmdlciB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsNCiAgfQ0KICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWRhbmdlciB7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7DQogIH0NCiAgLm1lZGlhIHsNCiAgICBtYXJnaW4tdG9wOiAxNXB4Ow0KICB9DQogIC5tZWRpYTpmaXJzdC1jaGlsZCB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgfQ0KICAubWVkaWEsDQogIC5tZWRpYS1ib2R5IHsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHpvb206IDE7DQogIH0NCiAgLm1lZGlhLWJvZHkgew0KICAgIHdpZHRoOiAxMDAwMHB4Ow0KICB9DQogIC5tZWRpYS1vYmplY3Qgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIC5tZWRpYS1vYmplY3QuaW1nLXRodW1ibmFpbCB7DQogICAgbWF4LXdpZHRoOiBub25lOw0KICB9DQogIC5tZWRpYS1yaWdodCwNCiAgLm1lZGlhID4gLnB1bGwtcmlnaHQgew0KICAgIHBhZGRpbmctbGVmdDogMTBweDsNCiAgfQ0KICAubWVkaWEtbGVmdCwNCiAgLm1lZGlhID4gLnB1bGwtbGVmdCB7DQogICAgcGFkZGluZy1yaWdodDogMTBweDsNCiAgfQ0KICAubWVkaWEtbGVmdCwNCiAgLm1lZGlhLXJpZ2h0LA0KICAubWVkaWEtYm9keSB7DQogICAgZGlzcGxheTogdGFibGUtY2VsbDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOw0KICB9DQogIC5tZWRpYS1taWRkbGUgew0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIH0NCiAgLm1lZGlhLWJvdHRvbSB7DQogICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsNCiAgfQ0KICAubWVkaWEtaGVhZGluZyB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiA1cHg7DQogIH0NCiAgLm1lZGlhLWxpc3Qgew0KICAgIHBhZGRpbmctbGVmdDogMDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICB9DQogIC5saXN0LWdyb3VwIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgcGFkZGluZzogMTBweCAxNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IC0xcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbSwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7DQogICAgY29sb3I6ICM1NTU7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgY29sb3I6ICMzMzM7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW06aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtOmZvY3VzIHsNCiAgICBjb2xvcjogIzU1NTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgfQ0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsDQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIsDQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgew0KICAgIGNvbG9yOiAjNzc3Ow0KICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsDQogIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHsNCiAgICBjb2xvcjogIzc3NzsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIHsNCiAgICB6LWluZGV4OiAyOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsDQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsLA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwNCiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LA0KICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQgew0KICAgIGNvbG9yOiAjYzdkZGVmOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3Mgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyB7DQogICAgY29sb3I6ICMzYzc2M2Q7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsDQogIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkOw0KICAgIGJvcmRlci1jb2xvcjogIzNjNzYzZDsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLWluZm8gew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHsNCiAgICBjb2xvcjogIzMxNzA4ZjsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMgew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGUzZjM7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsDQogIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlOmhvdmVyLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxNzA4ZjsNCiAgICBib3JkZXItY29sb3I6ICMzMTcwOGY7DQogIH0NCiAgLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7DQogICAgY29sb3I6ICM4YTZkM2I7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmZvY3VzIHsNCiAgICBjb2xvcjogIzhhNmQzYjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmMmNjOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLA0KICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICM4YTZkM2I7DQogICAgYm9yZGVyLWNvbG9yOiAjOGE2ZDNiOw0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciwNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIgew0KICAgIGNvbG9yOiAjYTk0NDQyOw0KICB9DQogIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7DQogICAgY29sb3I6IGluaGVyaXQ7DQogIH0NCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpmb2N1cyB7DQogICAgY29sb3I6ICNhOTQ0NDI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYzsNCiAgfQ0KICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLA0KICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsDQogIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6aG92ZXIsDQogIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciwNCiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cywNCiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk0NDQyOw0KICAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsNCiAgfQ0KICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgew0KICAgIG1hcmdpbi10b3A6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogNXB4Ow0KICB9DQogIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBsaW5lLWhlaWdodDogMS4zOw0KICB9DQogIC5wYW5lbCB7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpOw0KICB9DQogIC5wYW5lbC1ib2R5IHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICB9DQogIC5wYW5lbC1oZWFkaW5nIHsNCiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbC1oZWFkaW5nID4gLmRyb3Bkb3duIC5kcm9wZG93bi10b2dnbGUgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5wYW5lbC10aXRsZSB7DQogICAgbWFyZ2luLXRvcDogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBjb2xvcjogaW5oZXJpdDsNCiAgfQ0KICAucGFuZWwtdGl0bGUgPiBhLA0KICAucGFuZWwtdGl0bGUgPiBzbWFsbCwNCiAgLnBhbmVsLXRpdGxlID4gLnNtYWxsLA0KICAucGFuZWwtdGl0bGUgPiBzbWFsbCA+IGEsDQogIC5wYW5lbC10aXRsZSA+IC5zbWFsbCA+IGEgew0KICAgIGNvbG9yOiBpbmhlcml0Ow0KICB9DQogIC5wYW5lbC1mb290ZXIgew0KICAgIHBhZGRpbmc6IDEwcHggMTVweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC5saXN0LWdyb3VwLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgfQ0KICAucGFuZWwgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHsNCiAgICBib3JkZXItd2lkdGg6IDFweCAwOw0KICAgIGJvcmRlci1yYWRpdXM6IDA7DQogIH0NCiAgLnBhbmVsID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcDogMDsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQogICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci1ib3R0b206IDA7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHsNCiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOw0KICB9DQogIC5wYW5lbC1oZWFkaW5nICsgLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC13aWR0aDogMDsNCiAgfQ0KICAubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIgew0KICAgIGJvcmRlci10b3Atd2lkdGg6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSwNCiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZSBjYXB0aW9uLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSBjYXB0aW9uLA0KICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUgY2FwdGlvbiB7DQogICAgcGFkZGluZy1yaWdodDogMTVweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCB7DQogICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KICB9DQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7DQogICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCiAgfQ0KICAucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZSwNCiAgLnBhbmVsID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSwNCiAgLnBhbmVsID4gLnRhYmxlICsgLnBhbmVsLWJvZHksDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlICsgLnBhbmVsLWJvZHkgew0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsDQogIC5wYW5lbCA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQgew0KICAgIGJvcmRlci10b3A6IDA7DQogIH0NCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQgew0KICAgIGJvcmRlci1sZWZ0OiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpsYXN0LWNoaWxkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQ6bGFzdC1jaGlsZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQgew0KICAgIGJvcmRlci1yaWdodDogMDsNCiAgfQ0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLA0KICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmxhc3QtY2hpbGQgPiB0ZCwNCiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpsYXN0LWNoaWxkID4gdGgsDQogIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoLA0KICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHsNCiAgICBib3JkZXItYm90dG9tOiAwOw0KICB9DQogIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgew0KICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbCB7DQogICAgbWFyZ2luLWJvdHRvbTogMDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLnBhbmVsLWdyb3VwIC5wYW5lbCArIC5wYW5lbCB7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KICB9DQogIC5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZyB7DQogICAgYm9yZGVyLWJvdHRvbTogMDsNCiAgfQ0KICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSwNCiAgLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAgew0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOw0KICB9DQogIC5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyIHsNCiAgICBib3JkZXItdG9wOiAwOw0KICB9DQogIC5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsNCiAgfQ0KICAucGFuZWwtZGVmYXVsdCB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjMzMzOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7DQogICAgYm9yZGVyLWNvbG9yOiAjZGRkOw0KICB9DQogIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2RkZDsNCiAgfQ0KICAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNmNWY1ZjU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsNCiAgfQ0KICAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2RkZDsNCiAgfQ0KICAucGFuZWwtcHJpbWFyeSB7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7DQogICAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3Ow0KICB9DQogIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICMzMzdhYjc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgfQ0KICAucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzMzN2FiNzsNCiAgfQ0KICAucGFuZWwtc3VjY2VzcyB7DQogICAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjM2M3NjNkOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7DQogICAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2Ow0KICB9DQogIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q2ZTljNjsNCiAgfQ0KICAucGFuZWwtc3VjY2VzcyA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNkZmYwZDg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzNjNzYzZDsNCiAgfQ0KICAucGFuZWwtc3VjY2VzcyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q2ZTljNjsNCiAgfQ0KICAucGFuZWwtaW5mbyB7DQogICAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjMzE3MDhmOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7DQogICAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxOw0KICB9DQogIC5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2JjZThmMTsNCiAgfQ0KICAucGFuZWwtaW5mbyA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNkOWVkZjc7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzMxNzA4ZjsNCiAgfQ0KICAucGFuZWwtaW5mbyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JjZThmMTsNCiAgfQ0KICAucGFuZWwtd2FybmluZyB7DQogICAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgew0KICAgIGNvbG9yOiAjOGE2ZDNiOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7DQogICAgYm9yZGVyLWNvbG9yOiAjZmFlYmNjOw0KICB9DQogIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZhZWJjYzsNCiAgfQ0KICAucGFuZWwtd2FybmluZyA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7DQogICAgY29sb3I6ICNmY2Y4ZTM7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzhhNmQzYjsNCiAgfQ0KICAucGFuZWwtd2FybmluZyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZhZWJjYzsNCiAgfQ0KICAucGFuZWwtZGFuZ2VyIHsNCiAgICBib3JkZXItY29sb3I6ICNlYmNjZDE7DQogIH0NCiAgLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1oZWFkaW5nIHsNCiAgICBjb2xvcjogI2E5NDQ0MjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOw0KICAgIGJvcmRlci1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAucGFuZWwtZGFuZ2VyID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogI2ViY2NkMTsNCiAgfQ0KICAucGFuZWwtZGFuZ2VyID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHsNCiAgICBjb2xvcjogI2YyZGVkZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk0NDQyOw0KICB9DQogIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkgew0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlYmNjZDE7DQogIH0NCiAgLmVtYmVkLXJlc3BvbnNpdmUgew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBoZWlnaHQ6IDA7DQogICAgcGFkZGluZzogMDsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICB9DQogIC5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sDQogIC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsDQogIC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwNCiAgLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAxMDAlOw0KICAgIGJvcmRlcjogMDsNCiAgfQ0KICAuZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7DQogICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsNCiAgfQ0KICAuZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHsNCiAgICBwYWRkaW5nLWJvdHRvbTogNzUlOw0KICB9DQogIC53ZWxsIHsNCiAgICBtaW4taGVpZ2h0OiAyMHB4Ow0KICAgIHBhZGRpbmc6IDE5cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICNlM2UzZTM7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgLjA1KTsNCiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNSk7DQogIH0NCiAgLndlbGwgYmxvY2txdW90ZSB7DQogICAgYm9yZGVyLWNvbG9yOiAjZGRkOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMTUpOw0KICB9DQogIC53ZWxsLWxnIHsNCiAgICBwYWRkaW5nOiAyNHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgfQ0KICAud2VsbC1zbSB7DQogICAgcGFkZGluZzogOXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDNweDsNCiAgfQ0KICAuY2xvc2Ugew0KICAgIGZsb2F0OiByaWdodDsNCiAgICBmb250LXNpemU6IDIxcHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgY29sb3I6ICMwMDA7DQogICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MjApOw0KICAgIG9wYWNpdHk6IC4yOw0KICB9DQogIC5jbG9zZTpob3ZlciwNCiAgLmNsb3NlOmZvY3VzIHsNCiAgICBjb2xvcjogIzAwMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7DQogICAgb3BhY2l0eTogLjU7DQogIH0NCiAgYnV0dG9uLmNsb3NlIHsNCiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7DQogICAgcGFkZGluZzogMDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyOiAwOw0KICB9DQogIC5tb2RhbC1vcGVuIHsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICB9DQogIC5tb2RhbCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDUwOw0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7DQogICAgb3V0bGluZTogMDsNCiAgfQ0KICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsNCiAgICAgICAgIC1vLXRyYW5zaXRpb246ICAgICAgLW8tdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsNCiAgICAgICAgICAgIHRyYW5zaXRpb246ICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOw0KICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7DQogICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpOw0KICB9DQogIC5tb2RhbC5pbiAubW9kYWwtZGlhbG9nIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KICB9DQogIC5tb2RhbC1vcGVuIC5tb2RhbCB7DQogICAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICAgIG92ZXJmbG93LXk6IGF1dG87DQogIH0NCiAgLm1vZGFsLWRpYWxvZyB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHdpZHRoOiBhdXRvOw0KICAgIG1hcmdpbjogMTBweDsNCiAgfQ0KICAubW9kYWwtY29udGVudCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjIpOw0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICBvdXRsaW5lOiAwOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpOw0KICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgLjUpOw0KICB9DQogIC5tb2RhbC1iYWNrZHJvcCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB6LWluZGV4OiAxMDQwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7DQogIH0NCiAgLm1vZGFsLWJhY2tkcm9wLmZhZGUgew0KICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIC5tb2RhbC1iYWNrZHJvcC5pbiB7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsNCiAgICBvcGFjaXR5OiAuNTsNCiAgfQ0KICAubW9kYWwtaGVhZGVyIHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1Ow0KICB9DQogIC5tb2RhbC1oZWFkZXIgLmNsb3NlIHsNCiAgICBtYXJnaW4tdG9wOiAtMnB4Ow0KICB9DQogIC5tb2RhbC10aXRsZSB7DQogICAgbWFyZ2luOiAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzOw0KICB9DQogIC5tb2RhbC1ib2R5IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgcGFkZGluZzogMTVweDsNCiAgfQ0KICAubW9kYWwtZm9vdGVyIHsNCiAgICBwYWRkaW5nOiAxNXB4Ow0KICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgLmJ0biArIC5idG4gew0KICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgbWFyZ2luLWxlZnQ6IDVweDsNCiAgfQ0KICAubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4gew0KICAgIG1hcmdpbi1sZWZ0OiAtMXB4Ow0KICB9DQogIC5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sgew0KICAgIG1hcmdpbi1sZWZ0OiAwOw0KICB9DQogIC5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogLTk5OTlweDsNCiAgICB3aWR0aDogNTBweDsNCiAgICBoZWlnaHQ6IDUwcHg7DQogICAgb3ZlcmZsb3c6IHNjcm9sbDsNCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgICAubW9kYWwtZGlhbG9nIHsNCiAgICAgIHdpZHRoOiA2MDBweDsNCiAgICAgIG1hcmdpbjogMzBweCBhdXRvOw0KICAgIH0NCiAgICAubW9kYWwtY29udGVudCB7DQogICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAuNSk7DQogICAgfQ0KICAgIC5tb2RhbC1zbSB7DQogICAgICB3aWR0aDogMzAwcHg7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgew0KICAgIC5tb2RhbC1sZyB7DQogICAgICB3aWR0aDogOTAwcHg7DQogICAgfQ0KICB9DQogIC50b29sdGlwIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgei1pbmRleDogMTA3MDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmb250LWZhbWlseTogIkhlbHZldGljYSBOZXVlIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBzdGFydDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7DQogICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3b3JkLWJyZWFrOiBub3JtYWw7DQogICAgd29yZC1zcGFjaW5nOiBub3JtYWw7DQogICAgd29yZC13cmFwOiBub3JtYWw7DQogICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7DQogICAgb3BhY2l0eTogMDsNCiAgDQogICAgbGluZS1icmVhazogYXV0bzsNCiAgfQ0KICAudG9vbHRpcC5pbiB7DQogICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsNCiAgICBvcGFjaXR5OiAuOTsNCiAgfQ0KICAudG9vbHRpcC50b3Agew0KICAgIHBhZGRpbmc6IDVweCAwOw0KICAgIG1hcmdpbi10b3A6IC0zcHg7DQogIH0NCiAgLnRvb2x0aXAucmlnaHQgew0KICAgIHBhZGRpbmc6IDAgNXB4Ow0KICAgIG1hcmdpbi1sZWZ0OiAzcHg7DQogIH0NCiAgLnRvb2x0aXAuYm90dG9tIHsNCiAgICBwYWRkaW5nOiA1cHggMDsNCiAgICBtYXJnaW4tdG9wOiAzcHg7DQogIH0NCiAgLnRvb2x0aXAubGVmdCB7DQogICAgcGFkZGluZzogMCA1cHg7DQogICAgbWFyZ2luLWxlZnQ6IC0zcHg7DQogIH0NCiAgLnRvb2x0aXAtaW5uZXIgew0KICAgIG1heC13aWR0aDogMjAwcHg7DQogICAgcGFkZGluZzogM3B4IDhweDsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogIH0NCiAgLnRvb2x0aXAtYXJyb3cgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDA7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICB9DQogIC50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvdyB7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDUwJTsNCiAgICBtYXJnaW4tbGVmdDogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDVweCA1cHggMDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOw0KICB9DQogIC50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHsNCiAgICByaWdodDogNXB4Ow0KICAgIGJvdHRvbTogMDsNCiAgICBtYXJnaW4tYm90dG9tOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwOw0KICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogNXB4Ow0KICAgIG1hcmdpbi1ib3R0b206IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7DQogICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiA1MCU7DQogICAgbGVmdDogMDsNCiAgICBtYXJnaW4tdG9wOiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvdyB7DQogICAgdG9wOiA1MCU7DQogICAgcmlnaHQ6IDA7DQogICAgbWFyZ2luLXRvcDogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7DQogICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93IHsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogNTAlOw0KICAgIG1hcmdpbi1sZWZ0OiAtNXB4Ow0KICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4Ow0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7DQogIH0NCiAgLnRvb2x0aXAuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cgew0KICAgIHRvcDogMDsNCiAgICByaWdodDogNXB4Ow0KICAgIG1hcmdpbi10b3A6IC01cHg7DQogICAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsNCiAgfQ0KICAudG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cgew0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiA1cHg7DQogICAgbWFyZ2luLXRvcDogLTVweDsNCiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDsNCiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOw0KICB9DQogIC5wb3BvdmVyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgei1pbmRleDogMTA2MDsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIG1heC13aWR0aDogMjc2cHg7DQogICAgcGFkZGluZzogMXB4Ow0KICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsNCiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MzsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IHN0YXJ0Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsNCiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOw0KICAgIHdvcmQtYnJlYWs6IG5vcm1hbDsNCiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDsNCiAgICB3b3JkLXdyYXA6IG5vcm1hbDsNCiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94Ow0KICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjIpOw0KICAgIGJvcmRlci1yYWRpdXM6IDZweDsNCiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7DQogICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjIpOw0KICANCiAgICBsaW5lLWJyZWFrOiBhdXRvOw0KICB9DQogIC5wb3BvdmVyLnRvcCB7DQogICAgbWFyZ2luLXRvcDogLTEwcHg7DQogIH0NCiAgLnBvcG92ZXIucmlnaHQgew0KICAgIG1hcmdpbi1sZWZ0OiAxMHB4Ow0KICB9DQogIC5wb3BvdmVyLmJvdHRvbSB7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCiAgfQ0KICAucG9wb3Zlci5sZWZ0IHsNCiAgICBtYXJnaW4tbGVmdDogLTEwcHg7DQogIH0NCiAgLnBvcG92ZXItdGl0bGUgew0KICAgIHBhZGRpbmc6IDhweCAxNHB4Ow0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjsNCiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDsNCiAgfQ0KICAucG9wb3Zlci1jb250ZW50IHsNCiAgICBwYWRkaW5nOiA5cHggMTRweDsNCiAgfQ0KICAucG9wb3ZlciA+IC5hcnJvdywNCiAgLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogMDsNCiAgICBoZWlnaHQ6IDA7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICB9DQogIC5wb3BvdmVyID4gLmFycm93IHsNCiAgICBib3JkZXItd2lkdGg6IDExcHg7DQogIH0NCiAgLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICIiOw0KICAgIGJvcmRlci13aWR0aDogMTBweDsNCiAgfQ0KICAucG9wb3Zlci50b3AgPiAuYXJyb3cgew0KICAgIGJvdHRvbTogLTExcHg7DQogICAgbGVmdDogNTAlOw0KICAgIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjOTk5Ow0KICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOw0KICB9DQogIC5wb3BvdmVyLnRvcCA+IC5hcnJvdzphZnRlciB7DQogICAgYm90dG9tOiAxcHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xMHB4Ow0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7DQogIH0NCiAgLnBvcG92ZXIucmlnaHQgPiAuYXJyb3cgew0KICAgIHRvcDogNTAlOw0KICAgIGxlZnQ6IC0xMXB4Ow0KICAgIG1hcmdpbi10b3A6IC0xMXB4Ow0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzk5OTsNCiAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTsNCiAgICBib3JkZXItbGVmdC13aWR0aDogMDsNCiAgfQ0KICAucG9wb3Zlci5yaWdodCA+IC5hcnJvdzphZnRlciB7DQogICAgYm90dG9tOiAtMTBweDsNCiAgICBsZWZ0OiAxcHg7DQogICAgY29udGVudDogIiAiOw0KICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmZjsNCiAgICBib3JkZXItbGVmdC13aWR0aDogMDsNCiAgfQ0KICAucG9wb3Zlci5ib3R0b20gPiAuYXJyb3cgew0KICAgIHRvcDogLTExcHg7DQogICAgbGVmdDogNTAlOw0KICAgIG1hcmdpbi1sZWZ0OiAtMTFweDsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAwOw0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7DQogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICB9DQogIC5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdzphZnRlciB7DQogICAgdG9wOiAxcHg7DQogICAgbWFyZ2luLWxlZnQ6IC0xMHB4Ow0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgICBib3JkZXItdG9wLXdpZHRoOiAwOw0KICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7DQogIH0NCiAgLnBvcG92ZXIubGVmdCA+IC5hcnJvdyB7DQogICAgdG9wOiA1MCU7DQogICAgcmlnaHQ6IC0xMXB4Ow0KICAgIG1hcmdpbi10b3A6IC0xMXB4Ow0KICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogIzk5OTsNCiAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMjUpOw0KICB9DQogIC5wb3BvdmVyLmxlZnQgPiAuYXJyb3c6YWZ0ZXIgew0KICAgIHJpZ2h0OiAxcHg7DQogICAgYm90dG9tOiAtMTBweDsNCiAgICBjb250ZW50OiAiICI7DQogICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOw0KICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOw0KICB9DQogIC5jYXJvdXNlbCB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0gew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBkaXNwbGF5OiBub25lOw0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjZzIGVhc2UtaW4tb3V0IGxlZnQ7DQogICAgICAgICAtby10cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsNCiAgICAgICAgICAgIHRyYW5zaXRpb246IC42cyBlYXNlLWluLW91dCBsZWZ0Ow0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtID4gaW1nLA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcgew0KICAgIGxpbmUtaGVpZ2h0OiAxOw0KICB9DQogIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHsNCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSB7DQogICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDsNCiAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogICAgICAtby10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0Ow0KICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7DQogIA0KICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogICAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsNCiAgICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDsNCiAgICB9DQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ubmV4dCwNCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5hY3RpdmUucmlnaHQgew0KICAgICAgbGVmdDogMDsNCiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB9DQogICAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ucHJldiwNCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5hY3RpdmUubGVmdCB7DQogICAgICBsZWZ0OiAwOw0KICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgfQ0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLm5leHQubGVmdCwNCiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5wcmV2LnJpZ2h0LA0KICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZSB7DQogICAgICBsZWZ0OiAwOw0KICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIH0NCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCwNCiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYgew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUgew0KICAgIGxlZnQ6IDA7DQogIH0NCiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQsDQogIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHsNCiAgICBsZWZ0OiAxMDAlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHsNCiAgICBsZWZ0OiAtMTAwJTsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LA0KICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldi5yaWdodCB7DQogICAgbGVmdDogMDsNCiAgfQ0KICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLmxlZnQgew0KICAgIGxlZnQ6IC0xMDAlOw0KICB9DQogIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUucmlnaHQgew0KICAgIGxlZnQ6IDEwMCU7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgd2lkdGg6IDE1JTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNik7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApOw0KICAgIG9wYWNpdHk6IC41Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sLmxlZnQgew0KICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgLjUpIDAlLCByZ2JhKDAsIDAsIDAsIC4wMDAxKSAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIC41KSAwJSwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMTAwJSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIC4wMDAxKSkpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIC41KSAwJSwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMTAwJSk7DQogICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsNCiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wucmlnaHQgew0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgLjUpIDEwMCUpOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIC41KSAxMDAlKTsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIC4wMDAxKSksIHRvKHJnYmEoMCwgMCwgMCwgLjUpKSk7DQogICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIC41KSAxMDAlKTsNCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOw0KICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsNCiAgfQ0KICAuY2Fyb3VzZWwtY29udHJvbDpob3ZlciwNCiAgLmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApOw0KICAgIG91dGxpbmU6IDA7DQogICAgb3BhY2l0eTogLjk7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwNCiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsDQogIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogNTAlOw0KICAgIHotaW5kZXg6IDU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIG1hcmdpbi10b3A6IC0xMHB4Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsDQogIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHsNCiAgICBsZWZ0OiA1MCU7DQogICAgbWFyZ2luLWxlZnQ6IC0xMHB4Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsDQogIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7DQogICAgcmlnaHQ6IDUwJTsNCiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4Ow0KICB9DQogIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsDQogIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQgew0KICAgIHdpZHRoOiAyMHB4Ow0KICAgIGhlaWdodDogMjBweDsNCiAgICBmb250LWZhbWlseTogc2VyaWY7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICdcMjAzOSc7DQogIH0NCiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dDpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICdcMjAzYSc7DQogIH0NCiAgLmNhcm91c2VsLWluZGljYXRvcnMgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDEwcHg7DQogICAgbGVmdDogNTAlOw0KICAgIHotaW5kZXg6IDE1Ow0KICAgIHdpZHRoOiA2MCU7DQogICAgcGFkZGluZy1sZWZ0OiAwOw0KICAgIG1hcmdpbi1sZWZ0OiAtMzAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KICB9DQogIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEwcHg7DQogICAgaGVpZ2h0OiAxMHB4Ow0KICAgIG1hcmdpbjogMXB4Ow0KICAgIHRleHQtaW5kZW50OiAtOTk5cHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgXDk7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOw0KICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7DQogIH0NCiAgLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7DQogICAgd2lkdGg6IDEycHg7DQogICAgaGVpZ2h0OiAxMnB4Ow0KICAgIG1hcmdpbjogMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICB9DQogIC5jYXJvdXNlbC1jYXB0aW9uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgcmlnaHQ6IDE1JTsNCiAgICBib3R0b206IDIwcHg7DQogICAgbGVmdDogMTUlOw0KICAgIHotaW5kZXg6IDEwOw0KICAgIHBhZGRpbmctdG9wOiAyMHB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICAgIGNvbG9yOiAjZmZmOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjYpOw0KICB9DQogIC5jYXJvdXNlbC1jYXB0aW9uIC5idG4gew0KICAgIHRleHQtc2hhZG93OiBub25lOw0KICB9DQogIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7DQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LA0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsDQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7DQogICAgICB3aWR0aDogMzBweDsNCiAgICAgIGhlaWdodDogMzBweDsNCiAgICAgIG1hcmdpbi10b3A6IC0xMHB4Ow0KICAgICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwNCiAgICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2IHsNCiAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsNCiAgICB9DQogICAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LA0KICAgIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQgew0KICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsNCiAgICB9DQogICAgLmNhcm91c2VsLWNhcHRpb24gew0KICAgICAgcmlnaHQ6IDIwJTsNCiAgICAgIGxlZnQ6IDIwJTsNCiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4Ow0KICAgIH0NCiAgICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7DQogICAgICBib3R0b206IDIwcHg7DQogICAgfQ0KICB9DQogIC5jbGVhcmZpeDpiZWZvcmUsDQogIC5jbGVhcmZpeDphZnRlciwNCiAgLmRsLWhvcml6b250YWwgZGQ6YmVmb3JlLA0KICAuZGwtaG9yaXpvbnRhbCBkZDphZnRlciwNCiAgLmNvbnRhaW5lcjpiZWZvcmUsDQogIC5jb250YWluZXI6YWZ0ZXIsDQogIC5jb250YWluZXItZmx1aWQ6YmVmb3JlLA0KICAuY29udGFpbmVyLWZsdWlkOmFmdGVyLA0KICAucm93OmJlZm9yZSwNCiAgLnJvdzphZnRlciwNCiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsDQogIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsDQogIC5idG4tdG9vbGJhcjpiZWZvcmUsDQogIC5idG4tdG9vbGJhcjphZnRlciwNCiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6YmVmb3JlLA0KICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDphZnRlciwNCiAgLm5hdjpiZWZvcmUsDQogIC5uYXY6YWZ0ZXIsDQogIC5uYXZiYXI6YmVmb3JlLA0KICAubmF2YmFyOmFmdGVyLA0KICAubmF2YmFyLWhlYWRlcjpiZWZvcmUsDQogIC5uYXZiYXItaGVhZGVyOmFmdGVyLA0KICAubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSwNCiAgLm5hdmJhci1jb2xsYXBzZTphZnRlciwNCiAgLnBhZ2VyOmJlZm9yZSwNCiAgLnBhZ2VyOmFmdGVyLA0KICAucGFuZWwtYm9keTpiZWZvcmUsDQogIC5wYW5lbC1ib2R5OmFmdGVyLA0KICAubW9kYWwtaGVhZGVyOmJlZm9yZSwNCiAgLm1vZGFsLWhlYWRlcjphZnRlciwNCiAgLm1vZGFsLWZvb3RlcjpiZWZvcmUsDQogIC5tb2RhbC1mb290ZXI6YWZ0ZXIgew0KICAgIGRpc3BsYXk6IHRhYmxlOw0KICAgIGNvbnRlbnQ6ICIgIjsNCiAgfQ0KICAuY2xlYXJmaXg6YWZ0ZXIsDQogIC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLA0KICAuY29udGFpbmVyOmFmdGVyLA0KICAuY29udGFpbmVyLWZsdWlkOmFmdGVyLA0KICAucm93OmFmdGVyLA0KICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLA0KICAuYnRuLXRvb2xiYXI6YWZ0ZXIsDQogIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyLA0KICAubmF2OmFmdGVyLA0KICAubmF2YmFyOmFmdGVyLA0KICAubmF2YmFyLWhlYWRlcjphZnRlciwNCiAgLm5hdmJhci1jb2xsYXBzZTphZnRlciwNCiAgLnBhZ2VyOmFmdGVyLA0KICAucGFuZWwtYm9keTphZnRlciwNCiAgLm1vZGFsLWhlYWRlcjphZnRlciwNCiAgLm1vZGFsLWZvb3RlcjphZnRlciB7DQogICAgY2xlYXI6IGJvdGg7DQogIH0NCiAgLmNlbnRlci1ibG9jayB7DQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KICAgIG1hcmdpbi1sZWZ0OiBhdXRvOw0KICB9DQogIC5wdWxsLXJpZ2h0IHsNCiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsNCiAgfQ0KICAucHVsbC1sZWZ0IHsNCiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50Ow0KICB9DQogIC5oaWRlIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogIH0NCiAgLnNob3cgew0KICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogIH0NCiAgLmludmlzaWJsZSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICB9DQogIC50ZXh0LWhpZGUgew0KICAgIGZvbnQ6IDAvMCBhOw0KICAgIGNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXI6IDA7DQogIH0NCiAgLmhpZGRlbiB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIC5hZmZpeCB7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICB9DQogIEAtbXMtdmlld3BvcnQgew0KICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7DQogIH0NCiAgLnZpc2libGUteHMsDQogIC52aXNpYmxlLXNtLA0KICAudmlzaWJsZS1tZCwNCiAgLnZpc2libGUtbGcgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICAudmlzaWJsZS14cy1ibG9jaywNCiAgLnZpc2libGUteHMtaW5saW5lLA0KICAudmlzaWJsZS14cy1pbmxpbmUtYmxvY2ssDQogIC52aXNpYmxlLXNtLWJsb2NrLA0KICAudmlzaWJsZS1zbS1pbmxpbmUsDQogIC52aXNpYmxlLXNtLWlubGluZS1ibG9jaywNCiAgLnZpc2libGUtbWQtYmxvY2ssDQogIC52aXNpYmxlLW1kLWlubGluZSwNCiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLA0KICAudmlzaWJsZS1sZy1ibG9jaywNCiAgLnZpc2libGUtbGctaW5saW5lLA0KICAudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAudmlzaWJsZS14cyB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0YWJsZS52aXNpYmxlLXhzIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRyLnZpc2libGUteHMgew0KICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRoLnZpc2libGUteHMsDQogICAgdGQudmlzaWJsZS14cyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC52aXNpYmxlLXhzLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgIC52aXNpYmxlLXhzLWlubGluZSB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7DQogICAgLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUtc20gew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS1zbSB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS1zbSwNCiAgICB0ZC52aXNpYmxlLXNtIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAudmlzaWJsZS1zbS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgew0KICAgIC52aXNpYmxlLXNtLWlubGluZSB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkgew0KICAgIC52aXNpYmxlLW1kIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUtbWQgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS1tZCB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS1tZCwNCiAgICB0ZC52aXNpYmxlLW1kIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogICAgLnZpc2libGUtbWQtYmxvY2sgew0KICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogICAgLnZpc2libGUtbWQtaW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHsNCiAgICAudmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sgew0KICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZyB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICB0YWJsZS52aXNpYmxlLWxnIHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRyLnZpc2libGUtbGcgew0KICAgICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRoLnZpc2libGUtbGcsDQogICAgdGQudmlzaWJsZS1sZyB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAudmlzaWJsZS1sZy1ibG9jayB7DQogICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLnZpc2libGUtbGctaW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7DQogICAgLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAuaGlkZGVuLXhzIHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsNCiAgICAuaGlkZGVuLXNtIHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7DQogICAgLmhpZGRlbi1tZCB7DQogICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsNCiAgICAuaGlkZGVuLWxnIHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLnZpc2libGUtcHJpbnQgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICBAbWVkaWEgcHJpbnQgew0KICAgIC52aXNpYmxlLXByaW50IHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgIHRhYmxlLnZpc2libGUtcHJpbnQgew0KICAgICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsNCiAgICB9DQogICAgdHIudmlzaWJsZS1wcmludCB7DQogICAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsNCiAgICB9DQogICAgdGgudmlzaWJsZS1wcmludCwNCiAgICB0ZC52aXNpYmxlLXByaW50IHsNCiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLnZpc2libGUtcHJpbnQtYmxvY2sgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICBAbWVkaWEgcHJpbnQgew0KICAgIC52aXNpYmxlLXByaW50LWJsb2NrIHsNCiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7DQogICAgfQ0KICB9DQogIC52aXNpYmxlLXByaW50LWlubGluZSB7DQogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Ow0KICB9DQogIEBtZWRpYSBwcmludCB7DQogICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHsNCiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50Ow0KICAgIH0NCiAgfQ0KICAudmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sgew0KICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgfQ0KICBAbWVkaWEgcHJpbnQgew0KICAgIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7DQogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgQG1lZGlhIHByaW50IHsNCiAgICAuaGlkZGVuLXByaW50IHsNCiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogIH0NCiAgLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLmNzcy5tYXAgKi8NCg0KLyogc2xpY2suY3NzICovDQoNCi8qIFNsaWRlciAqLw0KLnNsaWNrLXNsaWRlcg0Kew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCg0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoNCiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOw0KDQogICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOw0KICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTsNCiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTsNCiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50Ow0KfQ0KDQouc2xpY2stbGlzdA0Kew0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCg0KICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQoNCiAgICBtYXJnaW46IDA7DQogICAgcGFkZGluZzogMDsNCn0NCi5zbGljay1saXN0OmZvY3VzDQp7DQogICAgb3V0bGluZTogbm9uZTsNCn0NCi5zbGljay1saXN0LmRyYWdnaW5nDQp7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGN1cnNvcjogaGFuZDsNCn0NCg0KLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssDQouc2xpY2stc2xpZGVyIC5zbGljay1saXN0DQp7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCn0NCg0KLnNsaWNrLXRyYWNrDQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOw0KfQ0KLnNsaWNrLXRyYWNrOmJlZm9yZSwNCi5zbGljay10cmFjazphZnRlcg0Kew0KICAgIGRpc3BsYXk6IHRhYmxlOw0KDQogICAgY29udGVudDogJyc7DQp9DQouc2xpY2stdHJhY2s6YWZ0ZXINCnsNCiAgICBjbGVhcjogYm90aDsNCn0NCi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjaw0Kew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCn0NCg0KLnNsaWNrLXNsaWRlDQp7DQogICAgZGlzcGxheTogbm9uZTsNCiAgICBmbG9hdDogbGVmdDsNCg0KICAgIGhlaWdodDogMTAwJTsNCiAgICBtaW4taGVpZ2h0OiAxcHg7DQp9DQpbZGlyPSdydGwnXSAuc2xpY2stc2xpZGUNCnsNCiAgICBmbG9hdDogcmlnaHQ7DQp9DQouc2xpY2stc2xpZGUgaW1nDQp7DQogICAgZGlzcGxheTogYmxvY2s7DQp9DQouc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcNCnsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZw0Kew0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KfQ0KLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZQ0Kew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlDQp7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KfQ0KLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZQ0Kew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KDQogICAgaGVpZ2h0OiBhdXRvOw0KDQogICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7DQp9DQouc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQovKiBpbmRleC5jc3MgKi8NCg0KYm9keSB7DQogICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7DQogICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsNCn0NCg0KLmNvbnRhaW5lcjpub3QoLi1tb2JpbGUpOm5vdCguLWRlc2t0b3ApIHsNCiAgICB3aWR0aDogMTM1MHB4Ow0KICAgIG1heC13aWR0aDogMTAwJTsNCn0NCg0KLm5vbmUgew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQoNCmltZyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQovKiBIZWFkZXIgKi8NCg0KLm5hdi10b3AsDQoubGF5b3V0LWhlYWRlciB7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCg0KLyogRm9vdGVyICovDQoNCi5mb290ZXItbWFpbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZy1ib3R0b206IDYwcHghaW1wb3J0YW50Ow0KfQ0KDQovKiBNb2RhbCBSb2RhcMOpICovDQoNCi5tb2RhbFJvZGFwZSB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgYm90dG9tOiAwOw0KICAgIGxlZnQ6IDA7DQogICAgcmlnaHQ6IDA7DQogICAgei1pbmRleDogOTk5OTk5OTk7DQogICAgcGFkZGluZzogMTVweCAwOw0KICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAxNnB4IDBweCByZ2IoMCAwIDAgLyAzOSUpOw0KICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxNnB4IDBweCByZ2JhKDAsMCwwLDAuMzkpOw0KICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTZweCAwcHggcmdiKDAgMCAwIC8gMzklKTsNCn0NCg0KLm1vZGFsUm9kYXBlIHNwYW4gew0KICAgIGNvbG9yOiAjMUUyQTNCOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLm1vZGFsUm9kYXBlIHNwYW4gc3Ryb25nIHsNCiAgICBjb2xvcjogI0M5ODMwMDsNCn0NCg0KLyogTW9kYWwgVsOtZGVvICovDQoNCiNtb2RhbFZpZGVvIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgbGVmdDogMDsNCiAgICByaWdodDogMDsNCiAgICB0b3A6IDA7DQogICAgYm90dG9tOiAwOw0KICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTsNCiAgICB6LWluZGV4OiA5OTk5OTk5OTk7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCg0KI21vZGFsVmlkZW8gLmJveEZsZXggew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBsZWZ0OiAwOw0KICAgIHJpZ2h0OiAwOw0KICAgIGJvdHRvbTogMDsNCiAgICB0b3A6IDA7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gew0KICAgIHdpZHRoOiA4MDBweDsNCiAgICBtYXgtd2lkdGg6IDkwJTsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgYmFja2dyb3VuZDogI2ZmZjsNCiAgICBwYWRkaW5nOiAzMHB4Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCg0KI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIC5mZWNoYVZpZGVvIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgY29sb3I6ICNBOUFCQkQ7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdG9wOiA0cHg7DQogICAgcmlnaHQ6IDRweDsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEwMCU7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQojbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLnZpZGVvLWJsb2NrIHsNCiAgICBtYXgtd2lkdGg6IDEwMCU7DQp9DQoNCiNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyBpZnJhbWUgew0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGhlaWdodDogNTAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gaWZyYW1lIHsNCiAgICAgICAgaGVpZ2h0OiAxODBweDsNCiAgICB9DQoNCiAgICAvKiBNb2RhbCBSb2RhcMOpICovDQoNCiAgICAubW9kYWxSb2RhcGUgew0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLm1vZGFsUm9kYXBlIHNwYW4gew0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICB9DQoNCiAgICAvKiBNb2RhbCBWw61kZW8gKi8NCg0KICAgICNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyB7DQogICAgICAgIHBhZGRpbmc6IDNweDsNCiAgICB9DQoNCiAgICAjbW9kYWxWaWRlbyAuYm94RmxleCAuYm94VmlkZW8gLmZlY2hhVmlkZW8gew0KICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4Ow0KICAgICAgICB0b3A6IC0xMHB4Ow0KICAgICAgICByaWdodDogLTEwcHg7DQogICAgfQ0KDQp9DQoNCi8qIGhlYWRlci5jc3MgKi8NCg0KLmhlYWRlckxhbmRpbmcyMDIyIHsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgdG9wOiAwOw0KICAgIGhlaWdodDogNjVweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICB6LWluZGV4OiA5OTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQp9DQoNCi5oZWFkZXJMYW5kaW5nMjAyMi5zY3JvbGwgew0KICAgIGhlaWdodDogNTBweCAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMTUsIDI2LCA0MiwgMC45NSk7DQp9DQoNCi5oZWFkZXJMYW5kaW5nMjAyMiAuY29udGFpbmVyIHsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi5oZWFkZXJMYW5kaW5nMjAyMiAuY29udGFpbmVyIC5jb2wtc20tMTIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgaGVpZ2h0OiAxMDAlOw0KfQ0KDQovKiBMb2dvICovDQoNCi5oZWFkZXJMYW5kaW5nMjAyMiAjbG9nb0xhbmRpbmcyMDIyIGltZyB7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOw0KfQ0KDQouaGVhZGVyTGFuZGluZzIwMjIuc2Nyb2xsICNsb2dvTGFuZGluZzIwMjIgaW1nIHsNCiAgICBtYXgtd2lkdGg6IDEyMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsNCn0NCg0KLyogTGlua3MgKi8NCg0KLmxpbmtzSGVhZGVyIHsNCiAgICBmbGV4OiAxOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOw0KfQ0KDQoubGlua3NIZWFkZXIgYSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogMzBweDsNCn0NCg0KLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luLWxlZnQ6IDdweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkgew0KDQogICAgLmxpbmtzSGVhZGVyIGEgc3BhbiB7DQogICAgICAgIGRpc3BsYXk6IG5vbmU7DQogICAgfQ0KDQp9DQoNCi8qIGJhbm5lclByaW5jaXBhbC5jc3MgKi8NCg0KLmJhbm5lclByaW5jaXBhbCB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2JnLWJhbm5lci1wcmluY2lwYWwuanBnKSAjMTAxODIzIGJvdHRvbSBjZW50ZXIgbm8tcmVwZWF0OwogICAgcGFkZGluZzogNDBweCAwIDAgMDsKICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgICBvdmVyZmxvdzogaGlkZGVuOwp9CgovKiBHcmlkOiB0ZXh0byBuYSBlc3F1ZXJkYSwgaW1hZ2VtIG5hIGRpcmVpdGEuIE8gdGV4dG8gdGVtIHBpc28gZGUgNTUwcHgKICAgKGFiYWl4byBkaXNzbyBvIGgyIHF1ZWJyYSBlbSAzIGxpbmhhcykgZSBhIGltYWdlbSBmaWNhIGNvbSBvIHJlc3RhbnRlCiAgIGRhIGxpbmhhLCB+NTclIGVtIHRlbGFzIGRlIDE0NDBweCBvdSBtYWlzICovCgouYmFubmVyUHJpbmNpcGFsIC5ib3hCYW5uZXIgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogMTAwJTsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg1NTBweCwgMWZyKSAxLjM1ZnI7CiAgICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7CiAgICBhbGlnbi1pdGVtczogZW5kOwp9CgouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciB7CiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7CiAgICBwYWRkaW5nOiA2MHB4IDA7Cn0KCi8qIEltYWdlbSAqLwoKLmJhbm5lclByaW5jaXBhbCAuaW1hZ2VtQmFubmVyIHsKICAgIG1hcmdpbjogMDsKICAgIHRleHQtYWxpZ246IHJpZ2h0Owp9CgouYmFubmVyUHJpbmNpcGFsIC5pbWFnZW1CYW5uZXIgaW1nIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXgtd2lkdGg6IDg0N3B4OwogICAgaGVpZ2h0OiBhdXRvOwogICAgbWFyZ2luLWxlZnQ6IGF1dG87Cn0KCi8qIFRleHRvICovCgouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgY29sb3I6ICNmZmY7CiAgICBtYXJnaW46IDAgMCAyMHB4OwogICAgZm9udC1zaXplOiAyOHB4OwogICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKfQoKLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgaDIgc3Ryb25nIHsKICAgIGNvbG9yOiAjRjA5QzAwOwp9CgouYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBzcGFuLnN1YnRpdHVsbyB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgY29sb3I6ICNmZmY7CiAgICBsaW5lLWhlaWdodDogMzBweDsKICAgIGZvbnQtc2l6ZTogMThweDsKfQoKLyogQXNzaW5hdHVyYXMgKi8KCi5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7Cn0KCi5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgYmFja2dyb3VuZDogcmdiYSgzMCwgNDIsIDU5LCAwLjYpOwogICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIuNXB4KTsKICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIHBhZGRpbmc6IDIwcHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCi5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAudGl0dWxvIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBjb2xvcjogI2ZmZjsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgbGluZS1oZWlnaHQ6IDMwcHg7CiAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQoKLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIHVsIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBtYXJnaW46IDEwcHggMCAwIDA7CiAgICBwYWRkaW5nOiAwOwogICAgbWluLWhlaWdodDogNDVweDsKfQoKLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIHVsIGxpIHsKICAgIGZsb2F0OiBsZWZ0OwogICAgd2lkdGg6IDEwMCU7CiAgICBsaXN0LXN0eWxlOiBub25lOwogICAgY29sb3I6ICNDQkQ0RTE7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsaW5lLWhlaWdodDogMjBweDsKfQoKLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIC5ib3hQcmVjbyB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMjBweDsKfQoKLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIC5ib3hQcmVjbyAucHJlY29EZSB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgY29sb3I6ICNDQkQ0RTE7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKfQoKLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIC5ib3hQcmVjbyAucHJlY29Qb3IgewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogMTAwJTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KCi5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAuYm94UHJlY28gYSB7CiAgICBmbG9hdDogbGVmdDsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luOiAxMnB4IDAgMCAwOwogICAgYmFja2dyb3VuZDogI0M5ODQwMDsKICAgIGNvbG9yOiAjZmZmOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7CgogICAgLmJhbm5lclByaW5jaXBhbCB7CiAgICAgICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2JnLWJhbm5lci1wcmluY2lwYWwtbW9iaWxlLmpwZykgIzA2MEYxQyBib3R0b20gY2VudGVyIG5vLXJlcGVhdDsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLmJveEJhbm5lciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlOwogICAgICAgIGdyaWQtY29sdW1uLWdhcDogMDsKICAgICAgICBncmlkLXJvdy1nYXA6IDIwcHg7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDAgMDsKICAgIH0KCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiBiciwKICAgIC5iYW5uZXJQcmluY2lwYWwgLnRleHRvQmFubmVyIHNwYW4gYnIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICB9CgogICAgLyogSW1hZ2VtIHNhbmdyYSBhdMOpIGFzIGJvcmRhcyBkYSB0ZWxhLCBpZ25vcmFuZG8gbyBwYWRkaW5nIGRvIGNvbnRhaW5lciAqLwoKICAgIC5iYW5uZXJQcmluY2lwYWwgLmltYWdlbUJhbm5lciB7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIG1heC13aWR0aDogMTAwdnc7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLmltYWdlbUJhbm5lciBpbWcgewogICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgICAgIGdyaWQtY29sdW1uLWdhcDogNXB4OwogICAgICAgIG1hcmdpbjogMDsKICAgIH0KCn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciB7CiAgICAgICAgcGFkZGluZzogOTBweCAwIDAgMDsKICAgIH0KCiAgICAuYmFubmVyUHJpbmNpcGFsIC50ZXh0b0Jhbm5lciBoMiB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgICAgICBsaW5lLWhlaWdodDogMzBweDsKICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbCAudGV4dG9CYW5uZXIgc3Bhbi5zdWJ0aXR1bG8gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAudGl0dWxvIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICBtaW4taGVpZ2h0OiA1MHB4OwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAudGl0dWxvIHN0cm9uZyB7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CgogICAgLmJhbm5lclByaW5jaXBhbCAucGxhbm9zQmFubmVyIC5ib3hBc3NpbmF0dXJhIC5ib3hJbnRlcm5vIHVsIHsKICAgICAgICBtaW4taGVpZ2h0OiA1NXB4OwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyB1bCBsaSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgfQoKICAgIC5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lciAuYm94QXNzaW5hdHVyYSAuYm94SW50ZXJubyAuYm94UHJlY28gLnByZWNvRGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KCiAgICAuYmFubmVyUHJpbmNpcGFsIC5wbGFub3NCYW5uZXIgLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gLmJveFByZWNvIC5wcmVjb1BvciB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIG1hcmdpbi10b3A6IDVweDsKICAgIH0KCiAgICAuYmFubmVyUHJpbmNpcGFsIC5wbGFub3NCYW5uZXIgLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gLmJveFByZWNvIGEgewogICAgICAgIHBhZGRpbmc6IDdweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIH0KCn0KDQoNCi8qIHBhY290ZXMuY3NzICovDQoNCi5saXN0YVBhY290ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMzBweCAwIDAgMDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAudGl0dWxvU2Vzc2FvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCAzMHB4IDA7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KfQ0KDQovKiBCb3ggQWNjb3JkaW9uICovDQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6IG5vbmU7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICM0NzU1Njk7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNUI2NTc1Ow0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgew0KICAgIGJhY2tncm91bmQ6ICMyNzM2NEI7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgaGVpZ2h0OiA3MHB4Ow0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIGJ1dHRvbiAuYm94VGl0dWxvIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogICAgZmxleDogMTsNCiAgICBhbGlnbi1pdGVtczogc3RhcnQ7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgYnV0dG9uIC5ib3hUaXR1bG8gLnRpdHVsb0xvdGUgew0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIGJ1dHRvbiBpbWcgew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDBzOw0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgaW1nIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiA0MHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kOiAjMjczNjRCOw0KICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsNCn0NCg0KLyogTGlzdGEgQXNzaW5hdHVyYXMgKi8NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBwYWRkaW5nOiAwIDdweDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7DQogICAgcGFkZGluZzogMTVweCA3cHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQovKiBUw610dWxvICovDQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCAxMHB4IDA7DQogICAgZm9udC1zaXplOiAyMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgIG1pbi1oZWlnaHQ6IDY0cHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94Qmcgew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzU1Njk7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIHBhZGRpbmc6IDIwcHg7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hCZyAubGlzdGFCb251cyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBtaW4taGVpZ2h0OiA0MHB4Ow0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94QmcgLmxpc3RhQm9udXMgdWwgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94QmcgLmxpc3RhQm9udXMgdWwgbGkgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hCZyAuYm94UHJlY29zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hQcmVjb3MgLmJveEJnIC5ib3hQcmVjbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGJhY2tncm91bmQ6ICM0NzU1Njk7DQogICAgcGFkZGluZzogMTBweDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAubGVnZW5kYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAucHJlY29EZSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7DQogICAgbWluLWhlaWdodDogMTlweDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyAucHJlY29Qb3Igew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgY29sb3I6ICNmZmY7DQogICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveFByZWNvcyBhIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgYmFja2dyb3VuZDogIzE1NkVGMzsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBwYWRkaW5nOiA2cHggMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hBc3NpbmF0dXJhIC5ib3hMaW5rU2FpYmEgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuYm94TGlua1NhaWJhIC5saW5rU2FpYmEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBjb2xvcjogI0ZBRkFGQTsNCiAgICBtYXJnaW4tdG9wOiAyMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLyogTGluayBNYWlzIFBhY290ZXMgKi8NCg0KLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveExpbmtQYWNvdGVzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDMwcHggMCAwIDA7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94TGlua1BhY290ZXMgYSB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIGJvcmRlcjogc29saWQgMXB4ICNmZmY7DQogICAgcGFkZGluZzogMTBweCAyMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7DQoNCiAgICAubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogNTAlOw0KICAgICAgICBtYXgtd2lkdGg6IDUwJTsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgew0KDQogICAgLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICAgICAgICBwYWRkaW5nOiAwDQogICAgfQ0KDQogICAgLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgaDIgew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5saXN0YVBhY290ZXMgLnRpdHVsb1Nlc3NhbyB7DQogICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAubGlzdGFQYWNvdGVzIC50aXR1bG9TZXNzYW8gYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgew0KICAgICAgICBoZWlnaHQ6IDcwcHg7DQogICAgfQ0KDQogICAgLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDA7DQogICAgfQ0KDQogICAgLmxpc3RhUGFjb3RlcyAjYWNjb3JkaW9uUGFjb3RlcyAuY2FyZCAuYm94Q29udGV1ZG8gLmJveEFzc2luYXR1cmEgLmJveEludGVybm8gew0KICAgICAgICBwYWRkaW5nOiAxNXB4IDNweDsNCiAgICB9DQoNCiAgICAubGlzdGFQYWNvdGVzICNhY2NvcmRpb25QYWNvdGVzIC5jYXJkIC5ib3hDb250ZXVkbyAuYm94QXNzaW5hdHVyYSAuY29sLXNtLTYgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDUwJTsNCiAgICAgICAgbWF4LXdpZHRoOiA1MCU7DQogICAgfQ0KDQogICAgLyogTGluayBNYWlzIFBhY290ZXMgKi8NCg0KICAgIC5saXN0YVBhY290ZXMgI2FjY29yZGlvblBhY290ZXMgLmNhcmQgLmJveENvbnRldWRvIC5ib3hMaW5rUGFjb3RlcyB7DQogICAgICAgIG1hcmdpbjogMzBweCAwOw0KICAgIH0NCg0KfQ0KDQovKiBjaGFtYWRhUGFjb3Rlcy5jc3MgKi8NCg0KLmNoYW1hZGFzUGFjb3RlcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiA1MHB4IDA7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTsNCiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgcGFkZGluZzogMzBweDsNCiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyIWltcG9ydGFudDsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjNTkzQTAwOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDI0cHg7DQogICAgbGluZS1oZWlnaHQ6IDMycHg7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGgyIHN0cm9uZyB7DQogICAgY29sb3I6ICMwQTEyMUY7DQp9DQoNCi5jaGFtYWRhc1BhY290ZXMgLmJveEJnIHAgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjNTkzQTAwOw0KICAgIG1hcmdpbjogMjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogMTUwJTsNCn0NCg0KLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgZmlndXJlIHsNCiAgICBkaXNwbGF5OiBub25lOw0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBhIHsNCiAgICBwYWRkaW5nOiA1cHggNTBweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBjb2xvcjogIzBBMTIxRjsNCiAgICBib3JkZXItcmFkaXVzOiA0cHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJvcmRlcjogc29saWQgMnB4ICMwQTEyMUY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOw0KfQ0KDQouY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBhOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kOiAjMEExMjFGOw0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAuY2hhbWFkYXNQYWNvdGVzIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAwOw0KICAgIH0NCiAgICANCiAgICAuY2hhbWFkYXNQYWNvdGVzIC5jb2wtc20tMTIgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIHsNCiAgICAgICAgcGFkZGluZzogMTdweDsNCiAgICB9DQoNCiAgICAuY2hhbWFkYXNQYWNvdGVzIC5ib3hCZyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgfQ0KDQogICAgLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgaDIgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIHAgYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5jaGFtYWRhc1BhY290ZXMgLmJveEJnIGZpZ3VyZSB7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgbWFyZ2luOiAyMHB4IDA7DQogICAgfQ0KDQogICAgLmNoYW1hZGFzUGFjb3RlcyAuYm94QmcgYSB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIH0NCg0KfQ0KDQovKiBwYXNzb3MuY3NzICovDQoNCi5wYXNzb3NBcHJvdmFjYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQ6ICMyNzJjMzI7DQogICAgcGFkZGluZzogNTBweCAwOw0KfQ0KDQoucGFzc29zQXByb3ZhY2FvIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA2MHB4IDA7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCn0NCg0KLnBhc3Nvc0Fwcm92YWNhbyBoMiBzdHJvbmcgew0KICAgIGNvbG9yOiAjRjA5QzAwOw0KfQ0KDQoucGFzc29zQXByb3ZhY2FvIHBpY3R1cmUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnBhc3Nvc0Fwcm92YWNhbyB7DQogICAgICAgIHBhZGRpbmc6IDM1cHggMDsNCiAgICB9DQoNCiAgICAucGFzc29zQXByb3ZhY2FvIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAucGFzc29zQXByb3ZhY2FvIGgyIGJyIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCn0NCg0KLyogZGlhc0RlVGVzdGUuY3NzICovDQoNCi5kaWFzRGVUZXN0ZSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiA3MHB4IDA7DQp9DQoNCi8qIEJveCAqLw0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgIGJhY2tncm91bmQtY29sb3I6ICM0NzU1Njk7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBwYWRkaW5nOiA0MHB4IDMwcHg7DQogICAgaGVpZ2h0OiAxODBweDsNCn0NCg0KLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byB7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIG1hcmdpbjogMCAwIDEwcHggMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCn0NCg0KLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byAudGV4dG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCn0NCg0KLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byAuY29uZGljYW8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KfQ0KDQouZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gZmlndXJlIGltZyB7DQogICAgd2lkdGg6IDgwcHg7DQogICAgbWluLXdpZHRoOiA4MHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkgew0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIHsNCiAgICAgICAgaGVpZ2h0OiAyMjBweDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsNCg0KICAgIC5kaWFzRGVUZXN0ZSAuYm94SXRlbSB7DQogICAgICAgIGZsb2F0OiBsZWZ0Ow0KICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOw0KICAgIH0NCg0KICAgIC5kaWFzRGVUZXN0ZSAuYm94SXRlbSArIC5ib3hJdGVtIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBoZWlnaHQ6IGF1dG87DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsNCg0KICAgIC5kaWFzRGVUZXN0ZSB7DQogICAgICAgIHBhZGRpbmc6IDIwcHggMCA0MHB4IDA7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gLmJveFRleHRvIC50aXR1bG8gYnIgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7DQoNCiAgICAuZGlhc0RlVGVzdGUgLmJveEl0ZW0gLmJveEludGVybm8gew0KICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7DQogICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgfQ0KDQogICAgLmRpYXNEZVRlc3RlIC5ib3hJdGVtIC5ib3hJbnRlcm5vIC5ib3hUZXh0byB7DQogICAgICAgIG1hcmdpbjogMjBweCAwIDAgMDsNCiAgICB9DQoNCn0NCg0KLyogY2FycmVpcmFzRGVDb25jdXJzb3MuY3NzICovDQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiAzMHB4IDAgNTBweCAwOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3MgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMCAwIDIwcHggMDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICBmb250LXNpemU6IDMwcHg7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyBwLnN1YnRpdHVsbyB7DQogICAgY29sb3I6ICNFMkU4RjA7DQogICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIG1hcmdpbjogMCAwIDQwcHggMDsNCn0NCg0KLyogQm94IEl0ZW0gKi8NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zIC5saXN0YUNhcnJlaXJhcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyAubGlzdGFDYXJyZWlyYXMgKyAubGlzdGFDYXJyZWlyYXMgew0KICAgIG1hcmdpbi10b3A6IDIwcHg7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyAubGlzdGFDYXJyZWlyYXMgcCB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIG1hcmdpbjogMCAwIDI1cHggMDsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zIC5saXN0YUNhcnJlaXJhcyBwIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyAuYm94SXRlbSB7DQogICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zIC5ib3hJdGVtIC5ib3hJbnRlcm5vIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyQTNCOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDIwMHB4Ow0KICAgIHBhZGRpbmc6IDI1cHg7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvcyAuYm94SXRlbSAuYm94SW50ZXJubyBpbWcgew0KICAgIGZsb2F0OiBsZWZ0Ow0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3MgLmJveEl0ZW0gLmJveEludGVybm8gLnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgbWFyZ2luOiAxNXB4IDAgMTBweCAwOw0KICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3MgLmJveEl0ZW0gLmJveEludGVybm8gLnRleHRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGNvbG9yOiAjRTJFOEYwOw0KICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZm9udC1zaXplOiAxMXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxODUlOw0KICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyOw0KfQ0KDQovKiogTU9CSUxFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDAgMCA0MHB4IDA7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCAyMHB4IDA7DQogICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgZm9udC1zaXplOiAyMnB4Ow0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgcCB7DQogICAgY29sb3I6ICNFMkU4RjA7DQogICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIG1hcmdpbjogMCAwIDI1cHggMDsNCn0NCg0KLyogTGlzdGEgQ2FycmVyaWFzICovDQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvc01vYmlsZSAubGlzdGFDYXJyZWlyYXMgew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl3aWR0aDogMTAwJTsNCglwYWRkaW5nOiAwOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyArIC5saXN0YUNhcnJlaXJhcyB7DQogICAgbWFyZ2luLXRvcDogNDBweDsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyBwIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgbWFyZ2luOiAwIDAgMjVweCAwOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIHAgc3Ryb25nIHsNCiAgICBjb2xvcjogI0YwOUMwMDsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6ICMwRjFBMkE7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzMDM4NDU7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvc01vYmlsZSAubGlzdGFDYXJyZWlyYXMgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KICAgIHBhZGRpbmc6IDE1cHggMDsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyAuY2FyZCBidXR0b24gLmNvbnRhaW5lciB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyAuY2FyZCBidXR0b246bm90KC5jb2xsYXBzZWQpIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEExMjFGOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIC5jYXJkIGJ1dHRvbiAudGV4dG8gew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7DQogICAgZmxleDogMTsNCn0NCg0KLmNhcnJlaXJhc0RlQ29uY3Vyc29zTW9iaWxlIC5saXN0YUNhcnJlaXJhcyAuY2FyZCBidXR0b24gLnRleHRvIGltZyB7DQogICAgbWFyZ2luLXJpZ2h0OiAxNXB4Ow0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIC5jYXJkIGJ1dHRvbiAudGV4dG8gc3BhbiB7DQogICAgY29sb3I6ICNFMkU4RjA7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIC5jYXJkIGJ1dHRvbiAuaW1nQWJyaXIgew0KICAgIG1heC13aWR0aDogMzBweDsNCiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyIDBzOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgLmltZ0FicmlyIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQp9DQoNCi5jYXJyZWlyYXNEZUNvbmN1cnNvc01vYmlsZSAubGlzdGFDYXJyZWlyYXMgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiAwOw0KCWZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYm9yZGVyLXRvcDogc29saWQgMXB4IHRyYW5zcGFyZW50Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEExMjFGOw0KfQ0KDQouY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmxpc3RhQ2FycmVpcmFzIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDAgMCAyMHB4IDA7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGNvbG9yOiAjRTJFOEYwOw0KICAgIGxpbmUtaGVpZ2h0OiAxNzUlOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMDBweCkgew0KDQogICAgLmNhcnJlaXJhc0RlQ29uY3Vyc29zIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgew0KICAgICAgICBkaXNwbGF5OiBibG9jazsNCiAgICB9DQoNCiAgICAuY2FycmVpcmFzRGVDb25jdXJzb3NNb2JpbGUgLmNvbC1zbS0xMiB7DQogICAgICAgIHBhZGRpbmc6IDA7DQogICAgfQ0KDQp9DQoNCi8qIGNvbmN1cnNvc0Rvc1Nvbmhvcy5jc3MgKi8NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYxQTJBOw0KICAgIHBhZGRpbmc6IDAgMCA3MHB4IDA7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgNjBweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMCA1MHB4Ow0KICAgIG1hcmdpbjogMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyBmaWd1cmUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gZmlndXJlIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi8qIFRleHRvcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KfQ0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvQ29uY3Vyc28gaDMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMDsNCiAgICBmb250LXNpemU6IDI4cHg7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG9Db25jdXJzbyAudmFnYXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBtYXJnaW46IDVweCAwIDAgMDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5uaXZlbCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIG1hcmdpbi10b3A6IDVweDsNCn0NCg0KLmNvbmN1cnNvRG9zU29uaG9zIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0b0NvbmN1cnNvIC5zYWxhcmlvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbWFyZ2luLXRvcDogNXB4Ow0KfQ0KDQovKiBTZXRhcyAqLw0KDQouY29uY3Vyc29Eb3NTb25ob3MgdWwgLnNldGFCYW5uZXIgew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IGNhbGMoNTAlIC0gMTJweCk7DQogICAgbGVmdDogMDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgei1pbmRleDogMTsNCiAgICB3aWR0aDogNDVweDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzFFMkEzQjsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5wcm94aW1vIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KICAgIHJpZ2h0OiAwOw0KICAgIGxlZnQ6IGF1dG87DQp9DQoNCi5jb25jdXJzb0Rvc1NvbmhvcyB1bCAuc2V0YUJhbm5lci5zbGljay1kaXNhYmxlZCB7DQogICAgb3BhY2l0eTogMC41Ow0KICAgIGN1cnNvcjogZGVmYXVsdDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmNvbmN1cnNvRG9zU29uaG9zIHsNCiAgICAgICAgcGFkZGluZzogNDBweCAwOw0KICAgIH0NCg0KICAgIC5jb25jdXJzb0Rvc1NvbmhvcyBoMiB7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIG1hcmdpbjogMCAwIDM1cHggMDsNCiAgICB9DQoNCiAgICAuY29uY3Vyc29Eb3NTb25ob3MgdWwgew0KICAgICAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgfQ0KDQp9DQoNCi8qIHByZXZpc2FvRGVBdW1lbnRvLmNzcyAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMCAwIDgwcHggMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBtYXJnaW46IDAgMCA0MHB4IDA7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIGgyIHN0cm9uZyB7DQogICAgY29sb3I6ICNGMDlDMDA7DQp9DQoNCi5wcmV2aXNhb0RlQXVtZW50byBwIHsNCiAgICBjb2xvcjogI0UyRThGMDsNCiAgICBmb250LXdlaWdodDogbGlnaHRlcjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbWFyZ2luOiAwIDAgNTBweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLyogTWVudSAqLw0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDNweCAjOTk5OTk5Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW4tYm90dG9tOiA0MHB4Ow0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgew0KICAgIHBhZGRpbmc6IDA7DQogICAgbWFyZ2luOiAwIDAgLTNweCAwOw0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtaW4td2lkdGg6IDExODBweDsNCiAgICB6LWluZGV4OiA5OTk7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhTWVudXMgLmJveEludGVybm8gdWwgbGkgew0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHBhZGRpbmc6IDEwcHg7DQogICAgY29sb3I6ICNmZmY7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4IHRyYW5zcGFyZW50Ow0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7DQogICAgbWFyZ2luOiAwIDJweDsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpOmhvdmVyLA0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHVsIGxpLmFjdGl2ZSB7DQogICAgY29sb3I6ICNGMDlDMDA7DQogICAgYm9yZGVyLWNvbG9yOiAjRjA5QzAwOw0KfQ0KDQovKiBDb250ZcO6ZG8gKi8NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YUNvbnRldWRvcyAuYm94SW50ZXJubyAuYm94SXRlbUNvbnRldWRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtaW4td2lkdGg6IDc2OHB4Ow0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNTBweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIC5ib3hJbnRlcm5vIHsNCiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIHsNCiAgICAgICAgcGFkZGluZzogMTBweCAwIDMwcHggMDsNCiAgICB9ICAgIA0KDQogICAgLnByZXZpc2FvRGVBdW1lbnRvIGgyIHsNCiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOw0KICAgICAgICBmb250LXNpemU6IDIycHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubzo6LXdlYmtpdC1zY3JvbGxiYXIgew0KICAgICAgICB3aWR0aDogMDsNCiAgICAgICAgaGVpZ2h0OiAwOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCB7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIHotaW5kZXg6IDk5OTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyAuYm94SW50ZXJubyB1bCBsaSB7DQogICAgICAgIHBhZGRpbmc6IDhweCAxMHB4Ow0KICAgIH0NCg0KICAgIC5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFDb250ZXVkb3MgLmJveEludGVybm8gew0KICAgICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICB9DQoNCiAgICAucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJbnRlcm5vOjotd2Via2l0LXNjcm9sbGJhciB7DQogICAgICAgIHdpZHRoOiAwOw0KICAgICAgICBoZWlnaHQ6IDA7DQogICAgfQ0KDQp9DQoNCi8qIGNvbnRldWRvcy5jc3MgKi8NCg0KLmJveENvbnRldWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogIzBGMUEyQTsNCiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsNCn0NCg0KLmJveENvbnRldWRvcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgcGFkZGluZzogMCAxNXB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMCAwIDQwcHggMDsNCiAgICBmb250LXNpemU6IDMwcHg7DQp9DQoNCi8qIExpc3RhIFBhc3NvcyAqLw0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCXdpZHRoOiAxMDAlOw0KCXBhZGRpbmc6IDA7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6IG5vbmU7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzMjM1M0Q7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiB7DQoJY3Vyc29yOiBwb2ludGVyOw0KCWJvcmRlcjogMDsNCgl3aWR0aDogMTAwJTsNCgliYWNrZ3JvdW5kOiAjMTIxNTIwOw0KCWZsb2F0OiBsZWZ0Ow0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBvdXRsaW5lOiBub25lIWltcG9ydGFudDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSB7DQogICAgYmFja2dyb3VuZDogI0NCRDRFMTsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgLmNvbC1zbS0xMiB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICBoZWlnaHQ6IDc1cHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAudGl0dWxvIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAudGl0dWxvIGltZyB7DQogICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgLnRpdHVsbyB7DQogICAgY29sb3I6ICMyMjIyMjI7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiBpbWcuaW1nQnV0dG9uIHsNCiAgICBtYXgtd2lkdGg6IDMwcHg7DQogICAgbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSBpbWcuaW1nQnV0dG9uIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCgljb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE4cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCn0NCg0KLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiAwIDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBiYWNrZ3JvdW5kOiAjQ0JENEUxOw0KICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCB0cmFuc3BhcmVudDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBtYXJnaW46IDAgMCAzMHB4IDA7DQp9DQoNCi5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIC5ib3hDb250ZXVkbyB2aWRlbyB7DQogICAgbWF4LXdpZHRoOiAxMDAlOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAuYm94Q29udGV1ZG9zIHsNCiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7DQogICAgfQ0KICAgIA0KICAgIC5ib3hDb250ZXVkb3MgaDIgew0KICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyBwIHsNCiAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7DQogICAgfQ0KDQogICAgLmJveENvbnRldWRvcyAubGlzdGFQYXNzb3MgLmNhcmQgYnV0dG9uIC5jb250YWluZXIgLmNvbC1zbS0xMiwNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCBidXR0b24gew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgIH0NCg0KICAgIC5ib3hDb250ZXVkb3MgLmxpc3RhUGFzc29zIC5jYXJkIGJ1dHRvbiAudGl0dWxvIHsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICB9DQoNCiAgICAuYm94Q29udGV1ZG9zIC5saXN0YVBhc3NvcyAuY2FyZCAuYm94Q29udGV1ZG8gcCB7DQogICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDsNCiAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIH0NCg0KfQ0KDQovKiBwcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMuY3NzICovDQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogMDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwIDAgMjVweCAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyBwLnN1YnRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNFMkU4RjA7DQogICAgbWFyZ2luOiAwIDAgNDBweCAwOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMTcwJTsNCn0NCg0KLyogQ29sYXBzZSAqLw0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KCWJhY2tncm91bmQ6IG5vbmU7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzMjM1M0Q7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgYnV0dG9uIHsNCgljdXJzb3I6IHBvaW50ZXI7DQoJYm9yZGVyOiAwOw0KCXdpZHRoOiAxMDAlOw0KCWJhY2tncm91bmQ6ICMwQTEyMUY7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIGJ1dHRvbiAuY29udGFpbmVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIGhlaWdodDogNzBweDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gLnRpdHVsbyB7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIGZsZXg6IDE7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgbWF4LXdpZHRoOiAzMHB4Ow0KICAgIG1hcmdpbi1yaWdodDogMTBweDsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXIgMHM7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgYnV0dG9uOm5vdCguY29sbGFwc2VkKSBpbWcgew0KICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCBidXR0b24gc3BhbiB7DQoJY29sb3I6ICNmZmY7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiA1MHB4IDAgMjBweCAwOw0KCWZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgYmFja2dyb3VuZDogIzFFMkEzQjsNCiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdHJhbnNwYXJlbnQ7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBsaXN0LXN0eWxlOiBub25lOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSB7DQogICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCg0KLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJvcmRlci1yYWRpdXM6IDhweDsNCiAgICBiYWNrZ3JvdW5kOiAjMDAwOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIGltZyB7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMjBweDsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KfQ0KDQoucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG8gc3BhbiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCiAgICBjb2xvcjogIzFFMkEzQjsNCiAgICBmb250LXNpemU6IDE2cHg7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoNCi5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIC5ib3hJbnRlcm5vIC5ib3hUZXh0byBwIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBjb2xvcjogIzFFMkEzQjsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIG1pbi1oZWlnaHQ6IDkwcHg7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIHsNCg0KICAgIC5wcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMgLmxpc3RhUHJvZmVzc29yZXMgLmNhcmQgLmJveENvbnRldWRvIHVsIGxpIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7DQogICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIHsNCiAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDsNCiAgICB9DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSB7DQogICAgICAgIHdpZHRoOiA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSAuYm94SW50ZXJubyAuYm94VGV4dG8gcCB7DQogICAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3MHB4KSB7DQoNCiAgICAucHJvZmVzc29yZXNFc3BlY2lhbGlzdGFzIC5saXN0YVByb2Zlc3NvcmVzIC5jYXJkIC5ib3hDb250ZXVkbyB1bCBsaSB7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBtYXgtd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLnByb2Zlc3NvcmVzRXNwZWNpYWxpc3RhcyAubGlzdGFQcm9mZXNzb3JlcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgLmJveEludGVybm8gLmJveFRleHRvIHAgew0KICAgICAgICBtaW4taGVpZ2h0OiBhdXRvOw0KICAgIH0NCg0KfQ0KDQovKiBncmFmaWNvcy5jc3MgKi8NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICMwRjFBMkE7DQogICAgcGFkZGluZzogNTBweCAwOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94VGl0dWxvR2VyYWwgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbi1ib3R0b206IDQwcHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hUaXR1bG9HZXJhbCBoMiB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgY29sb3I6ICNmZmY7DQogICAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogICAgbWFyZ2luOiAwOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveFRpdHVsb0dlcmFsIHAgew0KICAgIGNvbG9yOiAjRTJFOEYwOw0KICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi8qIExpc3RhICovDQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3Mgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZDogIzEyMTUyMDsNCiAgICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmJveFRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzMjM1M0Q7DQogICAgcGFkZGluZzogMCAyMHB4Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47DQogICAgaGVpZ2h0OiA1NnB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAuYm94VGl0dWxvIGgzIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBtYXJnaW46IDA7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgaGVpZ2h0OiAyNDBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUUyQTNCOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBwYWRkaW5nOiAyMHB4Ow0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvICsgLmJveFJlc3VsdGFkbyB7DQogICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNEMUQ2REM7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5ib3hUZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAuYm94VGV4dG8gLnRleHRvIHsNCiAgICBjb2xvcjogI0ZGRkZGRjsNCiAgICBmb250LXNpemU6IDExcHg7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGxpbmUtaGVpZ2h0OiAxNjAlOw0KICAgIGZsZXg6IDE7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLmJveFRleHRvIGltZyB7DQogICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLmNoYXJ0IHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICAgIHdpZHRoOiA4MHB4Ow0KICAgIGhlaWdodDogODBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luLWxlZnQ6IDE1cHg7DQp9DQoNCi5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmJveENhcnJlaXJhIC5saXN0YUl0ZW5zIC5ib3hSZXN1bHRhZG8gLmJveFJlc3VsdGFkb0ludGVybm8gLmNoYXJ0IGNhbnZhcyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAwOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyAuYm94UmVzdWx0YWRvIC5ib3hSZXN1bHRhZG9JbnRlcm5vIC5wZXJjZW50IHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCn0NCg0KLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuYm94Q2FycmVpcmEgLmxpc3RhSXRlbnMgLmJveFJlc3VsdGFkbyAuYm94UmVzdWx0YWRvSW50ZXJubyAucGVyY2VudDphZnRlciB7DQogICAgY29udGVudDonJSc7DQogICAgbWFyZ2luLWxlZnQ6IDAuMWVtOw0KICAgIGZvbnQtc2l6ZTogLjhlbTsNCn0NCg0KLyogQ2FycmVnYXIgUmVzdWx0YWRvcyAqLw0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhciBzcGFuIHsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkgew0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuY29sLXNtLTMgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsNCiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIHsNCg0KICAgIC5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zIHsNCiAgICAgICAgZmxvYXQ6IGxlZnQ7DQogICAgICAgIHdpZHRoOiA1MCU7DQogICAgICAgIG1heC13aWR0aDogNTAlOw0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7DQoNCiAgICAucmVzdWx0YWRvc0NvbmN1cnNvcyB7DQogICAgICAgIHBhZGRpbmc6IDMwcHggMDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkgew0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3MgLmJveFRpdHVsb0dlcmFsIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MzBweCkgew0KDQogICAgLnJlc3VsdGFkb3NDb25jdXJzb3MgLmxpc3RhUmVzdWx0YWRvcyAuY29sLXNtLTMgew0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIG1heC13aWR0aDogMTAwJTsNCiAgICB9DQoNCiAgICAucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5ib3hDYXJyZWlyYSAubGlzdGFJdGVucyB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICB9DQoNCn0NCg0KLyogZGVwb2ltZW50b3MuY3NzICovDQoNCi5kZXBvaW1lbnRvc0Fwcm92YWRvcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzBGMUEyQTsNCiAgICBwYWRkaW5nOiAwIDAgNTBweCAwOw0KICAgIG1heC1oZWlnaHQ6IDcwMHB4Ow0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgaDIgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjZmZmOw0KICAgIGZvbnQtd2VpZ2h0OiBib2xkOw0KICAgIG1hcmdpbjogMCAwIDQwcHggMDsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLmVsZW0tYm94IHsNCiAgICBvdmVyZmxvdzogdW5zZXQ7DQogICAgbWFyZ2luOiAwOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCg0KLyogVMOtdHVsbyAqLw0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveFRpdHVsbyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLyogTGlzdGEgKi8NCg0KLmRlcG9pbWVudG9zQXByb3ZhZG9zIC5ib3hMaXN0YURlcG9pbWVudG9zIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLyogQ2FycmVnYXIgTWFpcyBEZXBvaW1lbnRvcyAqLw0KDQouZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcyB7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwRjFBMkEgMCUsIDcwJSwgdHJhbnNwYXJlbnQpOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB6LWluZGV4OiA5OTk5OTk5OTsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgcGFkZGluZzogNTBweCAwIDMwcHggMDsNCn0NCg0KLmRlcG9pbWVudG9zQXByb3ZhZG9zIC52ZXJNYWlzRGVwb2ltZW50b3Mgc3BhbiB7DQogICAgY29sb3I6ICNmZmY7DQogICAgY3Vyc29yOiBwb2ludGVyOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgew0KDQogICAgLmRlcG9pbWVudG9zQXByb3ZhZG9zIHsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgLmJveFRpdHVsbyB7DQogICAgICAgIG1hcmdpbjogMDsNCiAgICB9DQoNCiAgICAuZGVwb2ltZW50b3NBcHJvdmFkb3MgaDIgew0KICAgICAgICBtYXJnaW46IDA7DQogICAgICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgfQ0KDQp9DQoNCi8qIGR1dmlkYXMuY3NzICovDQoNCg0KLnRpcmVEdXZpZGFzIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDUwcHggMCA1MHB4IDA7DQp9DQoNCi50aXJlRHV2aWRhcyBoMiB7DQogICAgY29sb3I6ICMyMjI7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIG1hcmdpbjogMCAwIDMwcHggMDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCn0NCg0KLyogQ29sYXBzZSAqLw0KDQoubGlzdGFDb250ZXVkb3Mgew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiAxMDAlOw0KCXBhZGRpbmc6IDA7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCB7DQoJZmxvYXQ6IGxlZnQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiAxMDAlOw0KICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IDA7DQogICAgYm9yZGVyLXJhZGl1czogMCFpbXBvcnRhbnQ7DQoJYm94LXNoYWRvdzogbm9uZSFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZDogbm9uZTsNCglib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2U3ZTdlNzsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5jYXJkLWhlYWRlciB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCBidXR0b24gew0KCWN1cnNvcjogcG9pbnRlcjsNCglib3JkZXI6IDA7DQoJd2lkdGg6IDEwMCU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIGhlaWdodDogNzBweDsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOw0KICAgIG91dGxpbmU6IG5vbmUhaW1wb3J0YW50Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgbWF4LXdpZHRoOiAzMHB4Ow0KICAgIHRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhciAwczsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbjpub3QoLmNvbGxhcHNlZCkgaW1nIHsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHNwYW4gew0KCWNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBmb250LXdlaWdodDogYm9sZDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHsNCglwYWRkaW5nOiAyMHB4IDA7DQoJZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBwIHsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgY29sb3I6ICM0NDQ0NDQ7DQogICAgbGluZS1oZWlnaHQ6IDE4NSU7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgew0KICAgIHBhZGRpbmc6IDAgMCAwIDQwcHg7DQp9DQoNCi5saXN0YUNvbnRldWRvcyAuY2FyZCAuYm94Q29udGV1ZG8gdWwgbGkgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBwYWRkaW5nOiAzcHggMDsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCiAgICBsaW5lLWhlaWdodDogMTg1JTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyBzdHJvbmcgew0KICAgIGNvbG9yOiAjREM5QTRDOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHsNCiAgICBmbG9hdDogbGVmdDsNCiAgICB3aWR0aDogMTAwJTsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkbyB0YWJsZSB0ciB0ZCB7DQogICAgcGFkZGluZzogMTBweDsNCiAgICBib3JkZXI6IHNvbGlkIDFweCAjNDE0MjRDOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIHRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHsNCiAgICB3aWR0aDogMjUlOw0KfQ0KDQoubGlzdGFDb250ZXVkb3MgLmNhcmQgLmJveENvbnRldWRvIGltZyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCg0KLmxpc3RhQ29udGV1ZG9zIC5jYXJkIC5ib3hDb250ZXVkby5pbiB7DQoJYm9yZGVyLXRvcDogc29saWQgMXB4ICNlN2U3ZTc7DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7DQoNCiAgICAudGlyZUR1dmlkYXMgew0KICAgICAgICBwYWRkaW5nOiAzMHB4IDA7DQogICAgfQ0KDQogICAgLnRpcmVEdXZpZGFzIC5jb2wtc20tMTIgew0KICAgICAgICBwYWRkaW5nOiAwOw0KICAgICAgICBmbG9hdDogbGVmdDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLnRpcmVEdXZpZGFzIGgyIHsNCiAgICAgICAgZm9udC1zaXplOiAyMnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIHsNCiAgICAgICAgaGVpZ2h0OiBhdXRvOw0KICAgICAgICBwYWRkaW5nOiAxMHB4IDA7DQogICAgfQ0KDQogICAgLmxpc3RhQ29udGV1ZG9zIC5jYXJkIGJ1dHRvbiBzcGFuIHsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICB9DQoNCiAgICAubGlzdGFDb250ZXVkb3MgLmNhcmQgYnV0dG9uIGltZyB7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7DQoNCiAgICANCg0KfQ0KDQovKiBmb290ZXIuY3NzICovDQoNCi5mb290ZXJQYWdlIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogNTBweCAwOw0KICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQogICAgbWFyZ2luOiAwIGF1dG87DQogICAgZGlzcGxheTogZmxleDsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCn0NCg0KLmZvb3RlclBhZ2UgLmZvb3RlckludGVybm8gew0KICAgIG1heC13aWR0aDogMjAwMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KfQ0KDQovKiBCb3ggQ2ltYSAqLw0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMCAxMDBweDsNCiAgICBkaXNwbGF5OiBncmlkOw0KICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7DQogICAgZ2FwOiA0MHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5ib3hUZXh0byB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgbWFyZ2luOiA0MHB4IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLmJveFRleHRvIHAgew0KICAgIGNvbG9yOiAjOTk5OTk5Ow0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBtYXJnaW46IDA7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLnJlZGVzU29jaWFpcyB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAucmVkZXNTb2NpYWlzIGEgKyBhIHsNCiAgICBtYXJnaW4tbGVmdDogNXB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC50aXR1bG9Sb2RhcGUgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGNvbG9yOiAjNDQ0NDQ0Ow0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBtYXJnaW46IDAgMCAxNXB4IDA7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSB7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgcGFkZGluZzogMDsNCiAgICBtYXJnaW46IDA7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgew0KICAgIGZsb2F0OiBsZWZ0Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hDaW1hIC5ib3hGb290ZXIgLm1lbnVSb2RhcGUgbGkgKyBsaSB7DQogICAgbWFyZ2luLXRvcDogN3B4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94Q2ltYSAuYm94Rm9vdGVyIC5tZW51Um9kYXBlIGxpIGEgew0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveENpbWEgLmJveEZvb3RlciAubWVudVJvZGFwZSBsaSBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzQ0NDQ0NDsNCn0NCg0KLyogQm94IEJhaXhvICovDQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byB7DQogICAgbWFyZ2luLXRvcDogNDBweDsNCiAgICBiYWNrZ3JvdW5kOiAjRkFGQUZBOw0KICAgIHBhZGRpbmc6IDIwcHggMTAwcHg7DQogICAgZmxvYXQ6IGxlZnQ7DQogICAgd2lkdGg6IDEwMCU7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KfQ0KDQouZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5ib3hTZWxvcyB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQp9DQoNCi5mb290ZXJQYWdlIC5ib3hCYWl4byAuYm94U2Vsb3MgaW1nICsgaW1nIHsNCiAgICBtYXJnaW4tbGVmdDogMTBweDsNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBnYXA6IDMwcHg7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4Ow0KICAgIH0NCg0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1MHB4KSB7DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94Q2ltYSB7DQogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIHNwYW4gew0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7DQogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7DQogICAgfQ0KDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUwcHgpIHsNCg0KICAgIC5mb290ZXJQYWdlIC5ib3hDaW1hIHsNCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsNCiAgICB9DQoNCiAgICAuZm9vdGVyUGFnZSAuYm94QmFpeG8gLmZvcm1hc0RlUGFnYW1lbnRvIC5saXN0YUZvcm1hcyB7DQogICAgICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgfQ0KDQogICAgLmZvb3RlclBhZ2UgLmJveEJhaXhvIC5mb3JtYXNEZVBhZ2FtZW50byAubGlzdGFGb3JtYXMgaW1nIHsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICB9DQoNCn0NCgo8L3N0eWxlPgoKCiAgICA8IS0tIEhlYWRlciAtLT4KICAgIDxkaXYgY2xhc3M9ImhlYWRlckxhbmRpbmcyMDIyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPgoKICAgICAgICAgICAgICAgIDwhLS0gTG9nbyAtLT4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20iIGlkPSJsb2dvTGFuZGluZzIwMjIiPgogICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9sb2dvLWJyYW5jYS5wbmciIGFsdD0iRXN0cmF0w6lnaWEgQ2FycmVpcmEgSnVyw61kaWNhIj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4KICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICA8IS0tIExpbmtzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGlua3NIZWFkZXIiPgoKICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL21lc2EtZGUtZXN0dWRvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvbWluaGEtY29udGEucG5nIiBhbHQ9Ik1pbmhhIGNvbnRhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1pbmhhIGNvbnRhPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY2FycmluaG8iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9tZXUtY2FycmluaG8ucG5nIiBhbHQ9Ik1ldSBjYXJyaW5obyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NZXUgY2FycmluaG88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8aDEgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij5QYWNvdGVzIEVDSiAtIEVzdHJhdMOpZ2lhIENvbmN1cnNvczwvaDE+CgogICAgPCEtLSBCYW5uZXIgUHJpbmNpcGFsIC0tPgogICAgPGRpdiBjbGFzcz0iYmFubmVyUHJpbmNpcGFsIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCYW5uZXIiPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRvQmFubmVyIj4KCiAgICAgICAgICAgICAgICAgICAgPGgyPlByZXBhcmHDp8OjbyBjb21wbGV0YSBwYXJhIG88YnI+IENvbmN1cnNvIEp1csOtZGljbyBxdWUgdm9jw6ogRXNjb2xoZXIhPC9oMj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3VidGl0dWxvIj5NYWdpc3RyYXR1cmEuIEVOQU0uIFByb2N1cmFkb3JpYXMsIERlbGVnYWRvLjxicj4gQ2FydMOzcmlvcy4gRU5BQy4gTWluaXN0w6lyaW8gUMO6YmxpY28sIERlZmVuc29yaWFzLjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBQbGFub3M6IG1vbnRhZG9zIHBvciBtb250YXJCYW5uZXIoKSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9InBsYW5vc0Jhbm5lciI+PC9kaXY+IC0tPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9ImltYWdlbUJhbm5lciI+CiAgICAgICAgICAgICAgICAgICAgPHBpY3R1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pbWctYmFubmVyLXByaW5jaXBhbC1tb2JpbGUucG5nIiBtZWRpYT0iKG1heC13aWR0aDogNjAwcHgpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ltZy1iYW5uZXItcHJpbmNpcGFsLWRlc2t0b3AucG5nIiBhbHQ9IlByb2Zlc3NvcmVzIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhIEp1csOtZGljYSI+CiAgICAgICAgICAgICAgICAgICAgPC9waWN0dXJlPgogICAgICAgICAgICAgICAgPC9maWd1cmU+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gUGFjb3RlczogbW9udGFkb3MgcG9yIG1vbnRhclBhY290ZXMoKSAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJsaXN0YVBhY290ZXMiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDIgY2xhc3M9InRpdHVsb1Nlc3NhbyI+UGFjb3RlcyAxMDAlIGF0dWFsaXphZG9zITwvaDI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uUGFjb3RlcyI+PC9kaXY+CgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gQ2hhbWFkYSBKdXLDrWRpY2EgLS0+CiAgICA8ZGl2IGNsYXNzPSJjaGFtYWRhc1BhY290ZXMiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCZyIgc3R5bGU9ImJhY2tncm91bmQ6IHVybChodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9iZy1jaGFtYWRhLXBhY290ZXMuc3ZnKSAjRjA5QzAwIG5vLXJlcGVhdCI+CiAgICAgICAgICAgICAgICAgICAgPGgyPkVzdHVkZSBjb20gYSBtYWlvciBhc3NpbmF0dXJhIGp1csOtZGljYTwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHA+QXMgQXNzaW5hdHVyYXMgSnVyw61kaWNhcyBjb250ZW1wbGFtIG1hdGVyaWFpcyBlbSBQREYgZSB2w61kZW8gcGFyYSB0b2RhcyBhcyBmYXNlcyA8YnI+IGRvcyBjb25jdXJzb3MganVyw61kaWNvcywgaW5jbHVzaXZlIGEgRmFzZSBPcmFsLCBjb20gYWNlc3NvIGlsaW1pdGFkbyBlIGdhcmFudGlhIGRlIDxicj4gYXR1YWxpemHDp8OjbyBubyBQw7NzLUVkaXRhbC48L3A+CiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LmVzdHJhdGVnaWFjb25jdXJzb3MuY29tLmJyL2Fzc2V0cy9pbWcvYXNzaW5hdHVyYXMtZWNqL2ltZy1tYXRlcmlhbC1hdnVsc28uc3ZnIiBhbHQ9Ik1hdGVyaWFsIEF2dWxzbyI+CiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+CiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9hc3NpbmF0dXJhcy8iPkFwcm92ZWl0ZTwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gUGFzc29zIHBhcmEgYSBBcHJvdmHDp8OjbyAtLT4KICAgIDxkaXYgY2xhc3M9InBhc3Nvc0Fwcm92YWNhbyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgICAgICAgICAgIDxoMj5PcyA8c3Ryb25nPjUgcGFzc29zPC9zdHJvbmc+IHF1ZSBub3MgbGV2YXJhbSBhIGFwcm92YXIgNjAlIGRvcyBhbHVub3Mgbm9zPGJyPiDDumx0aW1vcyA0IGFub3MuPC9oMj4KCiAgICAgICAgICAgIDxwaWN0dXJlPgogICAgICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL3Bhc3Nvcy1hcHJvdmFjYW8tbW9iaWxlLnBuZyIgbWVkaWE9IihtYXgtd2lkdGg6IDYwMHB4KSI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvcGFzc29zLWFwcm92YWNhby5wbmciIGFsdD0iUGFzc29zIj4KICAgICAgICAgICAgPC9waWN0dXJlPgoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gMDcgZGlhcyBwYXJhIFRlc3RhciAtLT4KICAgIDxkaXYgY2xhc3M9ImRpYXNEZVRlc3RlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoKICAgICAgICAgICAgPCEtLSBTYXRpc2Zhw6fDo28gR2FyYW50aWRhIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzYXRpc2ZhY2FvR2FyYW50aWRhIGJveEl0ZW0gY29sLXNtLTYiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94VGV4dG8iPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGl0dWxvIj5TYXRpc2Zhw6fDo28gZ2FyYW50aWRhIG91IHNldSA8YnI+IGRpbmhlaXJvIGRlIHZvbHRhPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dG8iPlZvY8OqIHRlbSBhdMOpIDcgZGlhcyBwYXJhIHRlc3RhciBub3Nzb3MgY3Vyc29zLiBDYXNvIG7Do28gc2UgYWRhcHRlIMOgIG5vc3NhIG1ldG9kb2xvZ2lhLCBkZXZvbHZlbW9zIHNldSBkaW5oZWlybyouPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uZGljYW8iPipWZXJpZmlxdWUgYXMgY29uZGnDp8O1ZXMgZW0gbm9zc29zIHRlcm1vcyBkZSB1c28uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtc2F0aXNmYWNhby1nYXJhbnRpZGEuc3ZnIiBhbHQ9IlNhdGlzZmHDp8OjbyBHYXJhbnRpZGEiPgogICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBBdHVhbGl6YcOnw6NvIHDDs3MtZWRpdGFsIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHVhbGl6YWNhb1Bvc0VkaXRhbCBib3hJdGVtIGNvbC1zbS02Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFRleHRvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsbyI+QXR1YWxpemHDp8OjbyBww7NzLWVkaXRhbDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHRvIj5Db20gYSBwdWJsaWNhw6fDo28gZG8gZWRpdGFsIGR1cmFudGUgYSB2aWfDqm5jaWEgZG8gc2V1IGNvbnRyYXRvLCBuw7NzIGdhcmFudGltb3MgYSBhdHVhbGl6YcOnw6NvIGRvIGNvbnRlw7pkbyByZXZpc2FkbyBjb25mb3JtZSBvIGVkaXRhbCwgbmEgc3VhIMOhcmVhIGRvIGFsdW5vLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWF0dWFsaXphY2FvLnN2ZyIgYWx0PSJBdHVhbGl6YcOnw6NvIHDDs3MtZWRpdGFsIj4KICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIENvbmN1cnNvIGRvcyBzZXVzIFNvbmhvczogbW9udGFkbyBwb3IgbW9udGFyQ29uY3Vyc29zKCkgLS0+CiAgICA8ZGl2IGNsYXNzPSJjb25jdXJzb0Rvc1NvbmhvcyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgICAgICAgICAgIDxoMj5TZWphIGFwcm92YWRvIG5vIGNvbmN1cnNvIGRvcyBzZXVzIHNvbmhvcyE8L2gyPgoKICAgICAgICAgICAgPHVsPjwvdWw+CgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBQcmV2aXPDo286IG1vbnRhZGEgcG9yIG1vbnRhclByZXZpc29lcygpIC0tPgogICAgPGRpdiBjbGFzcz0icHJldmlzYW9EZUF1bWVudG8iPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDI+U8OjbyBtYWlzIGRlIDxzdHJvbmc+MS4wMDAgdmFnYXM8L3N0cm9uZz4gcHJldmlzdGFzIHBhcmEgMjAyNjxicj4gZSBwYXJhIG9zIHByw7N4aW1vcyBhbm9zLjwvaDI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gTWVudXMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFNZW51cyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hJbnRlcm5vIj4KICAgICAgICAgICAgICAgICAgICA8dWw+PC91bD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBDb250ZcO6ZG9zIC0tPgogICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhQ29udGV1ZG9zIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveEludGVybm8iPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8IS0tIENhcnJlaXJhczogbW9udGFkYXMgcG9yIG1vbnRhckNhcnJlaXJhcygpIC0tPgogICAgPGRpdiBjbGFzcz0iY2FycmVpcmFzRGVDb25jdXJzb3MiPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPgogICAgICAgICAgICAgICAgPGgyPkVuY29udHJlIGN1cnNvcyBkZSB0b2RhcyBhcyBjYXJyZWlyYXMganVyw61kaWNhczwvaDI+CiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic3VidGl0dWxvIj5Tw6NvIGN1cnNvcyBkYSBmYXNlIG9iamV0aXZhIMOgIGZhc2Ugb3JhbCwgZm9jYWRvcyBub3MgZWRpdGFpcyBlIGNvbSBnYXJhbnRpYSBkZSBhdHVhbGl6YcOnw6NvIHDDs3MtZWRpdGFsPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3RhQ2FycmVpcmFzIj48L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIENhcnJlaXJhcyBkZSBDb25jdXJzb3MgLSBNb2JpbGUgLS0+CiAgICA8ZGl2IGNsYXNzPSJjYXJyZWlyYXNEZUNvbmN1cnNvc01vYmlsZSI+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICA8aDI+RW5jb250cmUgY3Vyc29zIGRlIHRvZGFzIGFzIGNhcnJlaXJhcyBqdXLDrWRpY2FzPC9oMj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzdWJ0aXR1bG8iPlPDo28gY3Vyc29zIGRhIGZhc2Ugb2JqZXRpdmEgw6AgZmFzZSBvcmFsLCBmb2NhZG9zIG5vcyBlZGl0YWlzIGUgY29tIGdhcmFudGlhIGRlIGF0dWFsaXphw6fDo28gcMOzcy1lZGl0YWw8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0YUNhcnJlaXJhcyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uQ2FycmVpcmFzIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8IS0tIENvbnRlw7pkb3M6IG1vbnRhZG9zIHBvciBtb250YXJDb250ZXVkb3MoKSAtLT4KICAgIDxkaXYgY2xhc3M9ImJveENvbnRldWRvcyIgaWQ9InBhc3Nvc0Fwcm92YWNhbyI+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgIDxoMj5Db25oZcOnYSBvcyBjb250ZcO6ZG9zIGUgYXMgZnVuY2lvbmFsaWRhZGVzPC9oMj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFQYXNzb3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1ncm91cCIgaWQ9ImFjY29yZGlvblBhc3NvcyI+PC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgPC9kaXY+CgogICAgPCEtLSBQcm9mZXNzb3JlczogbW9udGFkb3MgcG9yIG1vbnRhclByb2Zlc3NvcmVzKCkgLS0+CiAgICA8ZGl2IGNsYXNzPSJwcm9mZXNzb3Jlc0VzcGVjaWFsaXN0YXMiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8aDI+RXN0dWRlIGNvbSBwcm9mZXNzb3JlcyBlc3BlY2lhbGlzdGFzIGVtIHRvZGFzIGFzIMOhcmVhcyBqdXLDrWRpY2FzPC9oMj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFQcm9mZXNzb3JlcyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWdyb3VwIiBpZD0iYWNjb3JkaW9uUHJvZmVzc29yZXMiPjwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgIDwvZGl2PgoKICAgIDwhLS0gUmVzdWx0YWRvczogbW9udGFkb3MgcG9yIG1vbnRhclJlc3VsdGFkb3MoKSAtLT4KICAgIDxkaXYgY2xhc3M9InJlc3VsdGFkb3NDb25jdXJzb3MiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJib3hUaXR1bG9HZXJhbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPgogICAgICAgICAgICAgICAgICAgIDxoMj5Db25maXJhIG5vc3NvcyByZXN1bHRhZG9zPC9oMj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFSZXN1bHRhZG9zIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgICAgICAgICAgICAgICA8IS0tIE9zIGNhcmRzIGVudHJhbSBhcXVpLCBhbnRlcyBkbyBib3TDo28gLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCb3Rhb0NhcnJlZ2FyIG5vbmUiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPk1vc3RyYXIgbWFpcyByZXN1bHRhZG9zPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8IS0tIERlcG9pbWVudG9zIC0tPgogICAgPGRpdiBjbGFzcz0iZGVwb2ltZW50b3NBcHJvdmFkb3MiPgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgoKICAgICAgICAgICAgPGgyPkRlcG9pbWVudG9zIGRvcyBub3Nzb3MgYXByb3ZhZG9zPC9oMj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveExpc3RhRGVwb2ltZW50b3MiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1faW8gZWxlbS1ib3giIHN0eWxlPSJvdmVyZmxvdzogdW5zZXQ7IG1hcmdpbjogMDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPSIiIGlkPSJ0ZXN0aW1vbmlhbHRvLXDDoWdpbmEtZGUtdmVuZGFzLWxpZ2h0IiBkYXRhLXNyYz0iaHR0cHM6Ly9lbWJlZC50ZXN0aW1vbmlhbC50by93L3DDoWdpbmEtZGUtdmVuZGFzP3RoZW1lPWxpZ2h0JmNhcmQ9YmFzZSIgZnJhbWVib3JkZXI9IjAiIHNjcm9sbGluZz0ibm8iIHdpZHRoPSIxMDAlIj48L2lmcmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJNYWlzRGVwb2ltZW50b3MiPgogICAgICAgICAgICA8c3Bhbj5WZXIgbWFpcy4uLjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KCiAgICA8L2Rpdj4KCiAgICA8IS0tIFRpcmUgc3VhcyBkw7p2aWRhczogbW9udGFkYXMgcG9yIG1vbnRhckR1dmlkYXMoKSAtLT4KICAgIDxkaXYgY2xhc3M9InRpcmVEdXZpZGFzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPgoKICAgICAgICAgICAgICAgIDxoMj5UaXJlIHN1YXMgZMO6dmlkYXM8L2gyPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsaXN0YUNvbnRldWRvcyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtZ3JvdXAiIGlkPSJhY2NvcmRpb24iPjwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gTW9kYWwgVsOtZGVvIC0tPgogICAgPGRpdiBpZD0ibW9kYWxWaWRlbyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYm94RmxleCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveFZpZGVvIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWNoYVZpZGVvIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWNsb3NlLW1vZGFsLnN2ZyIgYWx0PSJGZWNoYXIgTW9kYWwiPgogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIEZvb3RlciAtLT4KICAgIDxmb290ZXIgY2xhc3M9ImZvb3RlclBhZ2UiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3RlckludGVybm8iPgoKICAgICAgICAgICAgPCEtLSBCb3ggQ2ltYSAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Q2ltYSI+CgogICAgICAgICAgICAgICAgPCEtLSBEYWRvcyBkYSBFbXByZXNhIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBMb2dvIC0tPgogICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvbG9nby1kb3VyYWRhLnN2ZyIgYWx0PSJQYWNvdGVzIEVDSiI+CiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+CgogICAgICAgICAgICAgICAgICAgIDwhLS0gVGV4dG8gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94VGV4dG8iPgogICAgICAgICAgICAgICAgICAgICAgICA8cD5Fc3R1ZGUgY29tIHF1ZW0gbWFpcyBhcHJvdmEgcGFyYSBjYXJnb3MgY29tbyBqdWl6LCBkZWxlZ2FkbywgcHJvbW90b3IsIGRlZmVuc29yIHDDumJsaWNvIGUgcHJvY3VyYWRvci4gUHJlcGFyZS1zZSBvbmRlLCBxdWFuZG8gZSBzZW1wcmUgcXVlIHF1aXNlciBjb20gY3Vyc29zLCBxdWVzdMO1ZXMgZSBjb250ZcO6ZG9zIGNvbXBsZXRvcyBwYXJhIGNhcnJlaXJhcyBqdXLDrWRpY2FzLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBSZWRlcyBTb2NpYWlzIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZGVzU29jaWFpcyI+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEluc3RhZ3JhbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9lc3RyYXRlZ2lhY29uY3Vyc29zLz9obD1wdC1iciIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy1pbnN0YWdyYW0ucG5nIiBhbHQ9Ikluc3RhZ3JhbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gWW91dHViZSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9Fc3RyYXRlZ2lhQ3Vyc29zIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXlvdXR1YmUucG5nIiBhbHQ9IllvdXR1YmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIEZhY2Vib29rIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vRXN0cmF0ZWdpYUNvbmN1cnNvcyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy1mYWNlYm9vay5wbmciIGFsdD0iRmFjZWJvb2siPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIFggLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vRXN0cmF0Q29uY3Vyc29zIiB0YXJnZXQ9Il9ibGFuayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXgucG5nIiBhbHQ9IlgiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gTWVudSBJbnN0aXR1Y2lvbmFsIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1JvZGFwZSI+SW5zdGl0dWNpb25hbDwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJtZW51Um9kYXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9lc3RyYXRlZ2lhLmNvbS8iPlF1ZW0gc29tb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcHVibGljLW1pc2NlbGxhbmVvdXMuczMtc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20vdGVybW9zL1BvbGklQ0MlODF0aWNhK2RlK1ByaXZhY2lkYWRlKy0rRXN0cmF0ZSVDQyU4MWdpYStFZHVjYWNpb25hbC5wZGYiIHRhcmdldD0iX2JsYW5rIj5Qb2zDrXRpY2EgZGUgcHJpdmFjaWRhZGU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcHVibGljLW1pc2NlbGxhbmVvdXMuczMuc2EtZWFzdC0xLmFtYXpvbmF3cy5jb20vdGVybW9zL1Rlcm1vcytkZStVc28rQ29uY3Vyc29zKy0rQ2FycmVpcmErSnVyaWRpY2ErVml0YWwlQzMlQURjaWEucGRmIiB0YXJnZXQ9Il9ibGFuayI+VGVybW9zIGRlIHVzbzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gTWVudSBTdXBvcnRlIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1JvZGFwZSI+U3Vwb3J0ZTwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJtZW51Um9kYXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9lc3RyYXRlZ2lhY2FycmVpcmFqdXJpZGljYS56ZW5kZXNrLmNvbS9oYy9wdC1iciIgdGFyZ2V0PSJfYmxhbmsiPkZhbGUgY29ub3NjbzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuZXN0cmF0ZWdpYWNvbmN1cnNvcy5jb20uYnIvYXNzaW5hdHVyYXMtZWNqLyIgdGFyZ2V0PSJfYmxhbmsiPkFzc2luYXR1cmFzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8iPlBhY290ZXMgZSBjdXJzb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vcG9ydGFsLyI+QmxvZzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS8jYXBwcyI+QmFpeGUgbyBhcHA8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2Zhc2UtZXNjcml0YS8iPkZhc2UgRXNjcml0YTwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvZmFzZS1vcmFsLyI+RmFzZSBPcmFsPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2F0ZW5kaW1lbnRvY2FycmVpcmFqdXJpZGljYS5lc3RyYXRlZ2lhLmNvbS9oYy9wdC1iciI+QWp1ZGE8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8IS0tIE1lbnUgQ29uY3Vyc29zIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94Rm9vdGVyIj4KCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpdHVsb1JvZGFwZSI+Q29uY3Vyc29zPC9zcGFuPgoKICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im1lbnVSb2RhcGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+4q2QIEFzc2luYXR1cmFzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIGVtIERlc3RhcXVlPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1kZWxlZ2FkbyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBwYXJhIERlbGVnYWRvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1wcm9jdXJhZG9yYWR2b2dhZG8iIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBQcm9jdXJhZG9yL0Fkdm9nYWRvPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1tYWdpc3RyYXR1cmEiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBNYWdpc3RyYXR1cmE8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLWNhcnRyaW9zIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIHBhcmEgQ2FydMOzcmlvczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtZGVmZW5zb3JpYS1wYmxpY2EiIHRhcmdldD0iX2JsYW5rIj5DdXJzb3MgcGFyYSBEZWZlbnNvcmlhIFDDumJsaWNhPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1wcm9tb3RvciIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBwYXJhIFByb21vdG9yPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9hZHZvY2FjaWEtcGJsaWNhLWZlZGVyYWwiIHRhcmdldD0iX2JsYW5rIj5BZHZvY2FjaWEgUMO6YmxpY2EgRmVkZXJhbDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXJlZ3VsYXJlcyIgdGFyZ2V0PSJfYmxhbmsiPkN1cnNvcyBSZWd1bGFyZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5WYWRlLU3DqWN1bSBwYXJhIENhcnJlaXJhcyBKdXLDrWRpY2E8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5RdWVzdMO1ZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5DYXN0PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy8jIiB0YXJnZXQ9Il9ibGFuayI+Q3Vyc29zIEF2dWxzb3M8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zLyMiIHRhcmdldD0iX2JsYW5rIj5NUC1TUCBlIE1QLU1HPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDwhLS0gRm9ybWFzIGRlIFBhZ2FtZW50byBlIFNlbG9zIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hCYWl4byI+CgogICAgICAgICAgICAgICAgPCEtLSBGb3JtYXMgZGUgUGFnYW1lbnRvIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybWFzRGVQYWdhbWVudG8iPgoKICAgICAgICAgICAgICAgICAgICA8c3Bhbj5Gb3JtYXMgZGUgcGFnYW1lbnRvOjwvc3Bhbj4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGlzdGFGb3JtYXMiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWJvbGV0by5wbmciIGFsdD0iQm9sZXRvIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy1tYXN0ZXJjYXJkLnBuZyIgYWx0PSJNYXN0ZXJjYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy12aXNhLnBuZyIgYWx0PSJWaXNhIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hbWVyaWNhbi5wbmciIGFsdD0iQW1lcmljYW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWRpbm5lcnMucG5nIiBhbHQ9IkRpbmVycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtZWxvLnBuZyIgYWx0PSJFbG8iPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS0gU2Vsb3MgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hTZWxvcyI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vbHAvcGFjb3Rlcy9hc3NldHMvaW1nL2ljb25lcy9pYy1hYmVkLnBuZyIgYWx0PSJBYmVkIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWViaXQucG5nIiBhbHQ9IkViaXQiPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Zvb3Rlcj4KCiAgICA8ZGl2IGNsYXNzPSJjbGVhciI+PC9kaXY+Cgo=<\/script><script id=\"lp-js\" type=\"text\/plain\">DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpIHsNCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIFV0aWxpZGFkZXMNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIHZhciBWRVJUSUNBTCAgICA9ICdjYXJyZWlyYXMtanVyaWRpY2FzJzsNCiAgICB2YXIgUEFSQ0VMQVMgICAgPSAxMjsNCiAgICB2YXIgVVJMX0FQSSAgICAgPSAnaHR0cHM6Ly9hcGkuZXN0cmF0ZWdpYS5jb20vYmZmL3B1YmxpYy9lY29tbWVyY2UvY2F0YWxvZy8nOw0KICAgIHZhciBVUkxfUFJPRFVUTyA9ICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2NhdGFsb2dvLXByb2R1dG9zL3Byb2R1dG8vJzsNCg0KICAgIHZhciBJQ09ORV9BQlJJUiA9ICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtcGx1cy13aGl0ZS5zdmcnOw0KDQogICAgZnVuY3Rpb24gbW9lZGEgKHZhbG9yKSB7DQogICAgICAgIHJldHVybiB2YWxvci50b0xvY2FsZVN0cmluZygncHQtYnInLCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogJ0JSTCcgfSk7DQogICAgfQ0KDQogICAgLy8gRXNjYXBhIHRhbWLDqW0gYXMgYXNwYXMsIHBhcmEgcG9kZXIgdXNhciBvIHJlc3VsdGFkbyBkZW50cm8gZGUgYXRyaWJ1dG9zDQogICAgZnVuY3Rpb24gZXNjYXBhckh0bWwgKHRleHRvKSB7DQogICAgICAgIHJldHVybiAkKCc8ZGl2PicpLnRleHQodGV4dG8pLmh0bWwoKS5yZXBsYWNlKC8iL2csICcmcXVvdDsnKTsNCiAgICB9DQoNCiAgICAvLyBOb21lIGRlIGFycXVpdm8gYSBwYXJ0aXIgZG8gdGV4dG86ICJEUCBERiIgLT4gImRwLWRmIg0KICAgIGZ1bmN0aW9uIHNsdWcgKHRleHRvKSB7DQogICAgICAgIHJldHVybiB0ZXh0bw0KICAgICAgICAgICAgLnRvTG93ZXJDYXNlKCkNCiAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1tcdTAzMDAtXHUwMzZmXS9nLCAnJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9bXmEtejAtOV0rL2csICctJykNCiAgICAgICAgICAgIC5yZXBsYWNlKC9eLXwtJC9nLCAnJyk7DQogICAgfQ0KDQogICAgLy8gVG9kbyBhY2NvcmRpb24gZGEgcMOhZ2luYSBzZWd1ZSBvIG1lc21vIHBhZHLDo286IG8gcHJpbWVpcm8gaXRlbSBqw6EgdmVtDQogICAgLy8gYWJlcnRvIGUgb3MgZGVtYWlzIGZlY2hhZG9zLiBgbm9tZWAgw6kgbyBzdWZpeG8gZG9zIGlkcyAoIlBhY290ZXMiLA0KICAgIC8vICJQcm9mZXNzb3JlcyIsIC4uLikgZSBwcmVjaXNhIGNhc2FyIGNvbSBvIGlkIGRvIHBhbmVsLWdyb3VwIG5vIEhUTUwuDQoNCiAgICBmdW5jdGlvbiBtb250YXJBY2NvcmRpb24gKG5vbWUsIGl0ZW5zLCBtb250YXJDYWJlY2FsaG8sIG1vbnRhckNvcnBvKSB7DQoNCiAgICAgICAgcmV0dXJuIGl0ZW5zLm1hcChmdW5jdGlvbiAoaXRlbSwgaW5kaWNlKSB7DQoNCiAgICAgICAgICAgIHZhciBhYmVydG8gPSBpbmRpY2UgPT09IDA7DQogICAgICAgICAgICB2YXIgaWQgICAgID0gbm9tZSArIGluZGljZTsNCg0KICAgICAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIiBpZD0iaGVhZGluZycgKyBpZCArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iJyArIChhYmVydG8gPyAnJyA6ICdjb2xsYXBzZWQnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2UnICsgaWQgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYXJpYS1leHBhbmRlZD0iJyArIChhYmVydG8gPyAndHJ1ZScgOiAnZmFsc2UnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBhcmlhLWNvbnRyb2xzPSJjb2xsYXBzZScgKyBpbmRpY2UgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YXJDYWJlY2FsaG8oaXRlbSwgaW5kaWNlKSArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9idXR0b24+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9ImNvbGxhcHNlJyArIGlkICsgJyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvJyArIChhYmVydG8gPyAnIGluJyA6ICcnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtbGFiZWxsZWRieT0iaGVhZGluZycgKyBpZCArICciIGRhdGEtcGFyZW50PSIjYWNjb3JkaW9uJyArIG5vbWUgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRhckNvcnBvKGl0ZW0sIGluZGljZSkgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICAgICAgfSkuam9pbignJyk7DQoNCiAgICB9DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBQcmXDp29zIChBUEkgZG8gY2F0w6Fsb2dvKQ0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgLy8gUHJlw6dvcyB6ZXJhZG9zOiBldml0YSBxdWVicmFyIGEgbW9udGFnZW0gZGEgcMOhZ2luYSBxdWFuZG8gdW1hIGNoYW1hZGEgZmFsaGENCiAgICBmdW5jdGlvbiBwcmVjb3NWYXppb3MgKCkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgY2FydGFvOiAwLCBjYXJ0YW9EZTogMCwNCiAgICAgICAgICAgIGNhcnRhb1RvdGFsOiAwLCBjYXJ0YW9Ub3RhbERlOiAwLA0KICAgICAgICAgICAgYm9sZXRvOiAwLCBib2xldG9EZTogMCwNCiAgICAgICAgICAgIHBvcmNlbnRhZ2VtOiAwLCBlY29ub21pemU6IDANCiAgICAgICAgfTsNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBjZW50YXZvcyAodmFsb3IpIHsNCiAgICAgICAgcmV0dXJuICh2YWxvciB8fCAwKSAvIDEwMDsNCiAgICB9DQoNCiAgICAvLyBBIEFQSSBkZXZvbHZlIG9zIHZhbG9yZXMgZW0gY2VudGF2b3MuIFF1YW5kbyBleGlzdGUgbG90ZSBwcm9tb2Npb25hbCwNCiAgICAvLyAibG90LmFtb3VudHMiIHRyYXogbyBwcmXDp28gdmlnZW50ZSBlICJhbW91bnRzIiBvIHByZcOnbyBjaGVpbyAobyAiZGUiKTsNCiAgICAvLyBzZW0gbG90ZSBuw6NvIGjDoSAiZGUiIGEgZXhpYmlyLg0KDQogICAgZnVuY3Rpb24gZXh0cmFpclByZWNvcyAoZGF0YSkgew0KDQogICAgICAgIHZhciBjaGVpbyA9IGRhdGEuYW1vdW50czsNCiAgICAgICAgdmFyIGxvdGUgID0gZGF0YS5sb3QgPyBkYXRhLmxvdC5hbW91bnRzIDogbnVsbDsNCiAgICAgICAgdmFyIGF0dWFsID0gbG90ZSB8fCBjaGVpbzsNCg0KICAgICAgICB2YXIgdG90YWwgICA9IGNlbnRhdm9zKGF0dWFsLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cyB8fCBhdHVhbC5jcmVkaXRfY2FyZCk7DQogICAgICAgIHZhciB0b3RhbERlID0gbG90ZSA\/IGNlbnRhdm9zKGNoZWlvLmNyZWRpdF9jYXJkX2luc3RhbGxtZW50cyB8fCBjaGVpby5jcmVkaXRfY2FyZCkgOiAwOw0KDQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICBjYXJ0YW86ICAgICAgICB0b3RhbCAvIFBBUkNFTEFTLA0KICAgICAgICAgICAgY2FydGFvRGU6ICAgICAgdG90YWxEZSAvIFBBUkNFTEFTLA0KICAgICAgICAgICAgY2FydGFvVG90YWw6ICAgdG90YWwsDQogICAgICAgICAgICBjYXJ0YW9Ub3RhbERlOiB0b3RhbERlLA0KICAgICAgICAgICAgYm9sZXRvOiAgICAgICAgY2VudGF2b3MoYXR1YWwuYm9sZXRvKSwNCiAgICAgICAgICAgIGJvbGV0b0RlOiAgICAgIGxvdGUgPyBjZW50YXZvcyhjaGVpby5ib2xldG8pIDogMCwNCiAgICAgICAgICAgIHBvcmNlbnRhZ2VtOiAgIGRhdGEuZGlzY291bnRfcGVyY2VudGFnZSB8fCAwLA0KICAgICAgICAgICAgZWNvbm9taXplOiAgICAgdG90YWxEZSA+IHRvdGFsID8gdG90YWxEZSAtIHRvdGFsIDogMA0KICAgICAgICB9Ow0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gY2FycmVnYXJQcmVjb3MgKHNsdWdQcm9kdXRvKSB7DQoNCiAgICAgICAgcmV0dXJuIGZldGNoKFVSTF9BUEkgKyBzbHVnUHJvZHV0bywgew0KICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywNCiAgICAgICAgICAgIG1vZGU6ICdjb3JzJywNCiAgICAgICAgICAgIGhlYWRlcnM6IHsNCiAgICAgICAgICAgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLA0KICAgICAgICAgICAgICAgICd4LXZlcnRpY2FsJzogVkVSVElDQUwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7IHJldHVybiByZXNwb25zZS5qc29uKCk7IH0pDQogICAgICAgIC50aGVuKGZ1bmN0aW9uIChqc29uKSB7DQogICAgICAgICAgICByZXR1cm4ganNvbiAmJiBqc29uLmRhdGEgPyBleHRyYWlyUHJlY29zKGpzb24uZGF0YSkgOiBwcmVjb3NWYXppb3MoKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvKSB7DQogICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvIGFvIGNhcnJlZ2FyIHByZcOnb3MgZGUgIicgKyBzbHVnUHJvZHV0byArICciOicsIGVycm8pOw0KICAgICAgICAgICAgcmV0dXJuIHByZWNvc1ZhemlvcygpOw0KICAgICAgICB9KTsNCg0KICAgIH0NCg0KICAgIC8vIFRvZG8gYmxvY28gZGUgcHJlw6dvIGRhIHDDoWdpbmEgw6kgbWFyY2FkbyBjb20gZGF0YS1zbHVnLCBlbnTDo28gdW0gw7puaWNvDQogICAgLy8gcHJlZW5jaGltZW50byBhdGVuZGUgYmFubmVyIGUgcGFjb3Rlcy4NCg0KICAgIGZ1bmN0aW9uIHByZWVuY2hlclByZWNvcyAocHJlY29zKSB7DQoNCiAgICAgICAgJCgnW2RhdGEtc2x1Z10nKS5lYWNoKGZ1bmN0aW9uICgpIHsNCg0KICAgICAgICAgICAgdmFyIGJveCAgID0gJCh0aGlzKTsNCiAgICAgICAgICAgIHZhciBwcmVjbyA9IHByZWNvc1tib3guZGF0YSgnc2x1ZycpXTsNCg0KICAgICAgICAgICAgaWYgKCFwcmVjbyB8fCAhcHJlY28uY2FydGFvKSB7DQogICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdTZW0gcHJlw6dvIHBhcmEgIicgKyBib3guZGF0YSgnc2x1ZycpICsgJyIuJyk7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBib3guZmluZCgnLnByZWNvUG9yJykudGV4dChQQVJDRUxBUyArICd4ICcgKyBtb2VkYShwcmVjby5jYXJ0YW8pKTsNCg0KICAgICAgICAgICAgLy8gTyAiZGUiIHJpc2NhZG8gc8OzIGV4aXN0ZSBxdWFuZG8gaMOhIGxvdGUgcHJvbW9jaW9uYWwNCiAgICAgICAgICAgIHZhciBwcmVjb0RlID0gYm94LmZpbmQoJy5wcmVjb0RlJyk7DQoNCiAgICAgICAgICAgIGlmIChwcmVjby5jYXJ0YW9EZSA+IDApIHsNCiAgICAgICAgICAgICAgICBwcmVjb0RlLnRleHQoUEFSQ0VMQVMgKyAneCAnICsgbW9lZGEocHJlY28uY2FydGFvRGUpKS5yZW1vdmVDbGFzcygnbm9uZScpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBwcmVjb0RlLmFkZENsYXNzKCdub25lJyk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfSk7DQoNCiAgICB9DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBEYWRvcw0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgdmFyIHBhY290ZXMgPSBbDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogICdQYWNvdGVzIHBhcmEgUHJvY3VyYWRvcicsDQogICAgICAgICAgICB2ZXJNYWlzOiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtcHJvY3VyYWRvcmFkdm9nYWRvLycsDQogICAgICAgICAgICBjYXJkczogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1BHRXMnLCAgICAgICAgIHNsdWc6ICdwZ2VzLXByb2N1cmFkb3ItZG8tZXN0YWRvLXBhY290ZS10ZW9yaWNvJywgICAgICAgICAgICAgICBpdGVuczogWydQcm9jdXJhZG9yIGRvIEVzdGFkbyAtIFBhY290ZSBUZcOzcmljbyAoUmVndWxhciknXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1BHTXMnLCAgICAgICAgIHNsdWc6ICdwZ21zLXByb2N1cmFkb3ItbXVuaWNpcGFsLXBhY290ZS10ZW9yaWNvLWN1cnNvLXJlZ3VsYXInLCBpdGVuczogWydQcm9jdXJhZG9yIE11bmljaXBhbCAtIFBhY290ZSBUZcOzcmljbyAoUmVndWxhciknXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1BHRS1QUicsICAgICAgIHNsdWc6ICdwZ2UtcHItcHJvY3VyYWRvci1kby1lc3RhZG8tcGFjb3RlLXRlb3JpY28tcG9zLWVkaXRhbCcsICBpdGVuczogWydQR0UtUFIgKFByb2N1cmFkb3IgZG8gRXN0YWRvKSBQYWNvdGUgVGXDs3JpY28gLSAyMDI0IChQw7NzLUVkaXRhbCknXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1BHTS1DYW1waW5hcycsIHNsdWc6ICdwZ20tY2FtcGluYXMtc3AtcHJvY3VyYWRvci1wYWNvdGUtdGVvcmljbycsICAgICAgICAgICAgICBpdGVuczogWydQR00tQ2FtcGluYXMgU1AgKFByb2N1cmFkb3IpIFBhY290ZSBUZcOzcmljbyAtIDIwMjUnXSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogICdQYWNvdGVzIHBhcmEgUHJvbW90b3InLA0KICAgICAgICAgICAgdmVyTWFpczogJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLXByb21vdG9yLycsDQogICAgICAgICAgICBjYXJkczogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1Byb21vdG9yIChSZWd1bGFyKScsIHNsdWc6ICdwcm9tb3Rvci1kZS1qdXN0aWNhLXBhY290ZS10ZW9yaWNvLXJlZ3VsYXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVuczogWydQcm9tb3RvciBkZSBKdXN0acOnYSAtIFBhY290ZSBUZcOzcmljbyAoUmVndWxhciknXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ01QLVNQJywgICAgICAgICAgICAgIHNsdWc6ICdtcC1zcC1wcm9tb3Rvci1kZS1qdXN0aWNhLXBhY290ZS10ZW9yaWNvLTIwMjQtcG9zLWVkaXRhbCcsICAgICAgICAgICAgICBpdGVuczogWydNUC1TUCAoUHJvbW90b3IgZGUgSnVzdGnDp2EpIFBhY290ZSBUZcOzcmljbyAtIDIwMjUgKFDDs3MtRWRpdGFsKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnTVBGJywgICAgICAgICAgICAgICAgc2x1ZzogJ21wZi1taW5pc3RlcmlvLXB1YmxpY28tZmVkZXJhbC1wcm9jdXJhZG9yLWRhLXJlcHVibGljYS1wYWNvdGUtdGVvcmljbycsIGl0ZW5zOiBbJ01QRiAtIE1pbmlzdMOpcmlvIFDDumJsaWNvIEZlZGVyYWwgKFByb2N1cmFkb3IgZGEgUmVww7pibGljYSkgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnTVAgTUcnLCAgICAgICAgICAgICAgc2x1ZzogJ21wLW1nLXByb21vdG9yLXBhY290ZS10ZW9yaWNvJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW5zOiBbJ01QLU1HIChQcm9tb3RvciBkZSBKdXN0acOnYSkgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNCddIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAgJ1BhY290ZXMgcGFyYSBNYWdpc3RyYXR1cmEnLA0KICAgICAgICAgICAgdmVyTWFpczogJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLW1hZ2lzdHJhdHVyYS8nLA0KICAgICAgICAgICAgY2FyZHM6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICdJSUkgRU5BTScsICAgICAgICAgICAgICBzbHVnOiAnaWlpLWVuYW0tcGFjb3RlLXRlb3JpY28nLCAgICAgICAgICAgICAgICAgICAgICAgICBpdGVuczogWydJSUkgRU5BTSAtIFBhY290ZSBUZcOzcmljbyAtIDIwMjUnXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ01hZ2lzdHJhdHVyYSBGZWRlcmFsJywgIHNsdWc6ICdtYWdpc3RyYXR1cmEtZmVkZXJhbC1wYWNvdGUtdGVvcmljbycsICAgICAgICAgICAgIGl0ZW5zOiBbJ01hZ2lzdHJhdHVyYSBGZWRlcmFsIC0gUGFjb3RlIFRlw7NyaWNvIChSZWd1bGFyKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnTWFnaXN0cmF0dXJhIEVzdGFkdWFsJywgc2x1ZzogJ21hZ2lzdHJhdHVyYS1lc3RhZHVhbC1wYWNvdGUtdGVvcmljby1yZWd1bGFyJywgICAgaXRlbnM6IFsnTWFnaXN0cmF0dXJhIEVzdGFkdWFsIC0gUGFjb3RlIFRlw7NyaWNvIChSZWd1bGFyKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnVEotU0MnLCAgICAgICAgICAgICAgICAgc2x1ZzogJ3RqLXNjLWp1aXotc3Vic3RpdHV0by1wYWNvdGUtdGVvcmljby1wcmUtZWRpdGFsJywgaXRlbnM6IFsnVEotU0MgKEp1aXogU3Vic3RpdHV0bykgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNCddIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAgJ1BhY290ZXMgcGFyYSBEZWxlZ2FkbycsDQogICAgICAgICAgICB2ZXJNYWlzOiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9jdXJzb3MvY3Vyc29zLXBhcmEtZGVsZWdhZG8vJywNCiAgICAgICAgICAgIGNhcmRzOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAnRGVsZWdhZG8gZGUgUG9sw61jaWEgKFJlZ3VsYXIpJywgc2x1ZzogJ2RlbGVnYWRvLWRlLXBvbGljaWEtcGFjb3RlLXRlb3JpY28nLCAgICAgIGl0ZW5zOiBbJ0RlbGVnYWRvIGRlIFBvbMOtY2lhIC0gUGFjb3RlIFRlw7NyaWNvIChSZWd1bGFyKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnUEYnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiAncG9saWNpYS1mZWRlcmFsLWRlbGVnYWRvLXBhY290ZS10ZW9yaWNvJywgaXRlbnM6IFsnUG9sw61jaWEgRmVkZXJhbCAoRGVsZWdhZG8pIFBhY290ZSBUZcOzcmljbyAtIDIwMjUnXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ1BDLU1HJywgICAgICAgICAgICAgICAgICAgICAgICAgc2x1ZzogJ3BjLW1nLWRlbGVnYWRvLXBhY290ZS10ZW9yaWNvJywgICAgICAgICAgIGl0ZW5zOiBbJ1BDLU1HIChEZWxlZ2FkbykgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNCddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnUEMtREYnLCAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiAncGMtZGYtZGVsZWdhZG8tcGFjb3RlLXRlb3JpY28nLCAgICAgICAgICAgaXRlbnM6IFsnUEMtREYgKERlbGVnYWRvKSBQYWNvdGUgVGXDs3JpY28gLSAyMDI1J10gfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICAnUGFjb3RlcyBwYXJhIERlZmVuc29yaWEgUMO6YmxpY2EnLA0KICAgICAgICAgICAgdmVyTWFpczogJ2h0dHBzOi8vY2ouZXN0cmF0ZWdpYS5jb20vY3Vyc29zL2N1cnNvcy1wYXJhLWRlZmVuc29yaWEtcGJsaWNhLycsDQogICAgICAgICAgICBjYXJkczogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ0RQRXMgKFJlZ3VsYXIpJywgc2x1ZzogJ2RlZmVuc29yaWEtcHVibGljYS1wYWNvdGUtdGVvcmljbycsICAgICAgICAgICBpdGVuczogWydEZWZlbnNvcmlhIFDDumJsaWNhIC0gUGFjb3RlIFRlw7NyaWNvIChSZWd1bGFyKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnRFBVJywgICAgICAgICAgICBzbHVnOiAnZHB1LWRlZmVuc29yLXB1YmxpY28tZmVkZXJhbC1wYWNvdGUtdGVvcmljbycsIGl0ZW5zOiBbJ0RQVSAoRGVmZW5zb3IgUMO6YmxpY28gRmVkZXJhbCkgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnRFBFLVNDJywgICAgICAgICBzbHVnOiAnZHBlLXNjLWRlZmVuc29yLXB1YmxpY28tcGFjb3RlLXRlb3JpY28nLCAgICAgIGl0ZW5zOiBbJ0RQRS1TQyAoRGVmZW5zb3IgUMO6YmxpY28pIFBhY290ZSBUZcOzcmljbyAtIDIwMjQnXSB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogJ0RQREYnLCAgICAgICAgICAgc2x1ZzogJ2RwZGYtZGVmZW5zb3ItcHVibGljby1wYWNvdGUtdGVvcmljbycsICAgICAgICBpdGVuczogWydEUERGIChEZWZlbnNvciBQw7pibGljbykgUGFjb3RlIFRlw7NyaWNvIC0gMjAyNSddIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAgJ1BhY290ZXMgcGFyYSBDYXJ0w7NyaW9zJywNCiAgICAgICAgICAgIHZlck1haXM6ICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2N1cnNvcy9jdXJzb3MtcGFyYS1jYXJ0cmlvcy8nLA0KICAgICAgICAgICAgY2FyZHM6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICdDYXJ0w7NyaW9zIChSZWd1bGFyKScsICAgICAgICAgICAgc2x1ZzogJ2NvbmN1cnNvcy1jYXJ0b3Jpb3MtcGFjb3RlLXRlb3JpY28nLCAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbnM6IFsnQ29uY3Vyc29zIENhcnTDs3Jpb3MgLSBQYWNvdGUgVGXDs3JpY28gKFJlZ3VsYXIpJ10gfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICdJIEVOQUMnLCAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiAnaS1lbmFjLXBhY290ZS10ZW9yaWNvJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVuczogWydJIEVOQUMgLSBQYWNvdGUgVGXDs3JpY28gLSAyMDI1J10gfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICdDYXJ0w7NyaW9zIFRKLVBFJywgICAgICAgICAgICAgICAgc2x1ZzogJ2NhcnRvcmlvcy1kby10ai1wZS1wYWNvdGUtdGVvcmljby0yMDI0LXBvcy1lZGl0YWwnLCAgICAgICAgICAgaXRlbnM6IFsnQ2FydMOzcmlvcyBkbyBUSi1QRSAtIFBhY290ZSBUZcOzcmljbyAtIDIwMjQgKFDDs3MtRWRpdGFsKSddIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAnQ2FydMOzcmlvcyBUSi1TUCAoRmFzZSBFc2NyaXRhKScsIHNsdWc6ICdjYXJ0b3Jpb3MtZG8tdGotc3AtY3Vyc29zLXBhcmEtZmFzZS1lc2NyaXRhLTIwMjQtcG9zLWVkaXRhbCcsIGl0ZW5zOiBbJ0NhcnTDs3Jpb3MgZG8gVEotU1AgLSBDdXJzb3MgcGFyYSBGYXNlIEVzY3JpdGEgLSAyMDI0IChQw7NzLUVkaXRhbCknXSB9DQogICAgICAgICAgICBdDQogICAgICAgIH0NCiAgICBdOw0KDQogICAgdmFyIGJhbm5lciA9IFsnaWlpLWVuYW0tcGFjb3RlLXRlb3JpY28nLCAnaS1lbmFjLXBhY290ZS10ZW9yaWNvJ107DQoNCiAgICB2YXIgY2FycmVpcmFzID0gWw0KICAgICAgICB7IHRpdHVsbzogJ01hZ2lzdHJhdHVyYScsICAgICAgICB0ZXh0bzogJ0FicmFuZ2Ugb3MgMjYgVHJpYnVuYWlzIGRlIEp1c3Rpw6dhLCA2IFRSRnMgZSBhIG1hZ2lzdHJhdHVyYSBkbyB0cmFiYWxoby4nIH0sDQogICAgICAgIHsgdGl0dWxvOiAnUHJvY3VyYWRvcmlhcycsICAgICAgIHRleHRvOiAnQWJyYW5nZSB0b2RhcyAyNyBQR0VzLCBQR01zLCBkZSBQcm9jdXJhZG9yaWFzIExlZ2lzbGF0aXZhcywgQWR2b2NhY2lhIFDDumJsaWNhIEZlZGVyYWwgZSBhZHZvY2FjaWEgcMO6YmxpY2EgZW0gZW50aWRhZGVzIGRhIEFkbWluaXN0cmHDp8OjbyBQw7pibGljYSBJbmRpcmV0YS4nIH0sDQogICAgICAgIHsgdGl0dWxvOiAnRGVsZWdhZG8gZGUgUG9sw61jaWEnLCB0ZXh0bzogJ0FicmFuZ2Ugb3MgMjYgZXN0YWRvcyBkYSBmZWRlcmHDp8OjbywgREYgZSBEZWxlZ2FkbyBkYSBQb2zDrWNpYSBGZWRlcmFsLicgfSwNCiAgICAgICAgeyB0aXR1bG86ICdEZWZlbnNvcmlhcycsICAgICAgICAgdGV4dG86ICdBYnJhbmdlIHRvZGFzIGFzIERQRXMsIGFsw6ltIGRhIERQIERGIGUgRFBVLicgfSwNCiAgICAgICAgeyB0aXR1bG86ICdQcm9tb3RvcmlhcycsICAgICAgICAgdGV4dG86ICdBYnJhbmdlIHRvZG9zIG9zIE1QcyBkZSBFc3RhZG9zLCBhbMOpbSBkbyBNUERGVCwgTVBNLCBNUEYgZSBNUFQuJyB9LA0KICAgICAgICB7IHRpdHVsbzogJ0NhcnTDs3Jpb3MnLCAgICAgICAgICAgdGV4dG86ICdBYnJhbmdlIG9zIGNvbmN1cnNvcyBkZSBDYXJ0w7NyaW9zIGRlIHRvZG9zIG9zIFRyaWJ1bmFpcyBkZSBKdXN0acOnYS4nIH0NCiAgICBdOw0KDQogICAgdmFyIHByZXZpc29lcyA9IFsnTWFnaXN0cmF0dXJhJywgJ0NhcnTDs3Jpb3MnLCAnRGVsdGEnLCAnRGVmZW5zb3JpYScsICdNaW5pc3TDqXJpbyBQw7pibGljbycsICdQcm9jdXJhZG9yaWEgR2VyYWwgZG8gRXN0YWRvJywgJ1Byb2N1cmFkb3JpYSBHZXJhbCBkbyBNdW5pY8OtcGlvJywgJ0Fkdm9jYWNpYSBQw7pibGljYScsICdPdXRyb3MnXTsNCg0KICAgIHZhciBjb25jdXJzb3MgPSBbDQogICAgICAgIHsgbm9tZTogJ0RQIERGJywgICAgICAgICAgIHZhZ2FzOiAnNjcgdmFnYXMgcHJldmlzdGFzJywgICAgc2FsYXJpbzogJ1IkIDIyLjU4OSw1OSBwb3IgbcOqcycgfSwNCiAgICAgICAgeyBub21lOiAnVEotQU0nLCAgICAgICAgICAgdmFnYXM6ICcxNSB2YWdhcyArIENSJywgICAgICAgICBzYWxhcmlvOiAnUmVtdW5lcmHDp8OjbzogMzIuMDA0LDY1L23DqnMnIH0sDQogICAgICAgIHsgbm9tZTogJ01QIE1BJywgICAgICAgICAgIHZhZ2FzOiAnMTUgdmFnYXMgcHJldmlzdGFzJywgICAgc2FsYXJpbzogJ1IkIDI4Ljg4NCwyNCBwb3IgbcOqcycgfSwNCiAgICAgICAgeyBub21lOiAnQ2FydMOzcmlvcyBUSiBNRycsIHZhZ2FzOiAnMS4zOTQgdmFnYXMgcHJldmlzdGFzJywgc2FsYXJpbzogJ1JlbXVuZXJhw6fDo28gdmFyacOhdmVsJyB9LA0KICAgICAgICB7IG5vbWU6ICdQQyBERicsICAgICAgICAgICB2YWdhczogJzQwIHZhZ2FzICsgNDAgQ1InLCAgICAgIHNhbGFyaW86ICdSZW11bmVyYcOnw6NvOiBSJCAxOS43NDUsNjMvbcOqcycgfSwNCiAgICAgICAgeyBub21lOiAnVEotUlMnLCAgICAgICAgICAgdmFnYXM6ICc0NSB2YWdhcyBhIGRlZmluaXInLCAgICBzYWxhcmlvOiAnUmVtdW5lcmHDp8OjbzogUiQgMjguOTU0LDIwL23DqnMnIH0sDQogICAgICAgIHsgbm9tZTogJ1RSRi01JywgICAgICAgICAgIHZhZ2FzOiAnNzAgY2FyZ29zIHZhZ29zJywgICAgICAgc2FsYXJpbzogJ1IkIDMyLjAwNCw2NSBwb3IgbcOqcycgfSwNCiAgICAgICAgeyBub21lOiAnVFJGLTInLCAgICAgICAgICAgdmFnYXM6ICdWYWdhcyBhIGRlZmluaXInLCAgICAgICBzYWxhcmlvOiAnUiQgMjcuNTAwLDE3IHBvciBtw6pzJyB9LA0KICAgICAgICB7IG5vbWU6ICdQQy1DRScsICAgICAgICAgICB2YWdhczogJzEwMCB2YWdhcycsICAgICAgICAgICAgIHNhbGFyaW86ICdSJCAxNi4zMTksNjAgcG9yIG3DqnMnIH0sDQogICAgICAgIHsgbm9tZTogJ1BDLU1HJywgICAgICAgICAgIHZhZ2FzOiAnNTQgdmFnYXMnLCAgICAgICAgICAgICAgc2FsYXJpbzogJ1IkIDEyLjk2Nyw0MyBwb3IgbcOqcycgfSwNCiAgICAgICAgeyBub21lOiAnTVAtU1AnLCAgICAgICAgICAgdmFnYXM6ICdWYWdhcyBhIGRlZmluaXInLCAgICAgICBzYWxhcmlvOiAnUmVtdW5lcmHDp8OjbzogUiQgUiQgMjguODgzLDk3L23DqnMnIH0sDQogICAgICAgIHsgbm9tZTogJ01QLU1HJywgICAgICAgICAgIHZhZ2FzOiAnMTAwIHZhZ2FzIHByZXZpc3RhcycsICAgc2FsYXJpbzogJ1JlbXVuZXJhw6fDo286IFIkIDMyLjIyOCw2OS9tw6pzJyB9LA0KICAgICAgICB7IG5vbWU6ICdEZWxlZ2FkbyAtIFBGJywgICB2YWdhczogJzIyMiB2YWdhcyBwcmV2aXN0YXMnLCAgIHNhbGFyaW86ICdSJCAyNi4zMDAvbcOqcycgfQ0KICAgIF07DQoNCiAgICB2YXIgY29udGV1ZG9zID0gWw0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICdMaXZybyBEaWdpdGFsIEludGVyYXRpdm8gKExESSknLA0KICAgICAgICAgICAgaW1nOiAnbGl2cm8tZGlnaXRhbC1pbnRlcmF0aXZvLnBuZycsDQogICAgICAgICAgICBkZXNjcmljYW86ICdPIG5vc3NvIExESSDDqSB1bSBwb2Rlcm9zbyByZWN1cnNvIGRpZMOhdGljbyBxdWUgYWdyZWdhIGVtIHVtYSDDum5pY2EgaW50ZXJmYWNlIG1hdGVyaWFpcyBjb21wbGV0b3MgZW0gdsOtZGVvLCBlc2NyaXRvcywgZW0gw6F1ZGlvLCBxdWVzdMO1ZXMsIG1hcGFzIG1lbnRhaXMgZSByZXN1bW9zLiBBbMOpbSBkaXNzbyBwZXJtaXRlIHF1ZSB2b2PDqiBleHRyYWlhIHVtIHJlc3VtbyBkb3MgZ3JpZm9zIGUgYW5vdGHDp8O1ZXMgZmVpdG9zIG5vIFBERiwgYWzDqW0gZGUgcGVybWl0aXIgYSBuYXZlZ2HDp8OjbyBwb3IgdW0gc3Vtw6FyaW8gaW50ZWxpZ2VudGUuJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICdDdXJzb3MgRXhjbHVzaXZvcyBkZSBFeHRlbnPDo28nLA0KICAgICAgICAgICAgaW1nOiAnY3Vyc29zLWV4Y2x1c2l2b3MtZGUtZXh0ZW5zYW8ucG5nJywNCiAgICAgICAgICAgIGRlc2NyaWNhbzogJ0N1cnNvcyBlbSB2w61kZW8gZGUgYXByb2Z1bmRhbWVudG8gbmFzIHByaW5jaXBhaXMgZGlzY2lwbGluYXMganVyw61kaWNhcyBlIGRlIGFib3JkYWdlbSBkZSB0ZW1hcyBlc3BlY8OtZmljb3Mgb3UgYXByb2Z1bmRhZG9zIGNvbmZvcm1lIGEgY2FycmVpcmEgZSBvIGNvbmN1cnNvLicNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAnVHJpbGhhcyBFc3RyYXTDqWdpY2FzJywNCiAgICAgICAgICAgIGltZzogJ3RyaWxoYXMtZXN0cmF0ZWdpY2FzLnBuZycsDQogICAgICAgICAgICBkZXNjcmljYW86ICdHdWlhIGRlIGVzdHVkb3MgZXN0cnV0dXJhZG8gY29uZm9ybWUgbyBjb25jdXJzbyBwYXJhIGVzdHVkbyByZWd1bGFyIGUgcMOzcy1lZGl0YWwsIGNvbSBkaXN0cmlidWnDp8OjbyBzZW1hbmFsIGRlIHRhcmVmYXMgcGFyYSBxdWUgdm9jw6ogZMOqIGF0ZW7Dp8OjbyBhb3MgcHJpbmNpcGFpcyBjb250ZcO6ZG9zIGNvYnJhZG9zLicNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAnQ3Vyc29zIHBhcmEgRmFzZXMgRXNjcml0YXMnLA0KICAgICAgICAgICAgaW1nOiAnY3Vyc29zLXBhcmEtZmFzZXMtZXNjcml0YXMucG5nJywNCiAgICAgICAgICAgIGRlc2NyaWNhbzogJ0N1cnNvcyBkaXNjdXJzaXZvcyAocmVndWxhcmVzIGUgcG9yIGVkaXRhbCkgY29tIGNvcnJlw6fDo28gaW5kaXZpZHVhbGl6YWRhIHBhcmEgYXMgZmFzZXMgZXNjcml0YXMgZG9zIHByaW5jaXBhaXMgY29uY3Vyc29zIGp1csOtZGljb3MuJw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICdDdXJzbyBwYXJhIEZhc2UgT3JhbCBjb20gQXRlbmRpbWVudG8gSW5kaXZpZHVhbGl6YWRvJywNCiAgICAgICAgICAgIGltZzogJ2N1cnNvLXBhcmEtZmFzZS1vcmFsLWNvbS1hdGVuZGltZW50by1pbmRpdmlkdWFsaXphZG8ucG5nJywNCiAgICAgICAgICAgIGRlc2NyaWNhbzogJ08gYWx1bm8gcXVlIHNlIHF1YWxpZmljYXIgcGFyYSBhIGZhc2Ugb3JhbCB0ZXLDoSBkaXJlaXRvIGEgZG9pcyBhdGVuZGltZW50b3MgaW5kaXZpZHVhbGl6YWRvcyBjb20gcHJvZmVzc29yIGRhIGNhcnJlaXJhIHBhcmEgYXJndWnDp8O1ZXMsIGFsw6ltIGRlIGF0ZW5kaW1lbnRvIGNvbSBwc2ljw7Nsb2dhIGUgZm9ub2F1ZGnDs2xvZ2EsIGNhc28sIG5vIGNvbmN1cnNvLCBoYWphIGZhc2Ugb3JhbC4nDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogJ1JhbmtpbmcgUMOzcy1Qcm92YScsDQogICAgICAgICAgICBpbWc6ICdyYW5raW5nLXBvcy1wcm92YS5wbmcnLA0KICAgICAgICAgICAgZGVzY3JpY2FvOiAnQWNhYm91IGRlIGZhemVyIHVtYSBwcm92YSBlIHF1ZXIgdGVyIHVtYSBpZGVpYSBzb2JyZSBhIHBvc3PDrXZlbCBub3RhIGRlIGNvcnRlPyBPIFJhbmtpbmcgZG8gRXN0cmF0w6lnaWEgw6kgYSBzb2x1w6fDo28hIEZlaXRvIGNvbSBiYXNlIG5vcyBkYWRvcyBkb3Mgbm9zc29zIGFsdW5vcyBlIHRlbmRvIGNvbW8gcmVmZXLDqm5jaWEgbyBHYWJhcml0byBFeHRyYW9maWNpYWwgZG9zIG5vc3NvcyBwcm9mZXNzb3JlcyAoYXTDqSBvIG9maWNpYWwgc2VyIGRpdnVsZ2FkbyksIHZvY8OqIHNhYmVyw6EgZW0gcHJpbWVpcmEgbcOjbyBzZSBhIHZhZ2EgZXN0w6EgcGVydG8gb3UgbsOjby4nDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogJ1Byb3ZhIENvbWVudGFkYScsDQogICAgICAgICAgICBpbWc6ICdwcm92YS1jb21lbnRhZGEucG5nJywNCiAgICAgICAgICAgIGRlc2NyaWNhbzogJ0FjZXNzZSBvcyBjb21lbnTDoXJpb3MgZGUgMTAwJSBkYXMgcXVlc3TDtWVzIGRhIHN1YSBwcm92YSBkZSBjb25jdXJzbywgbm8gZGlhIHNlZ3VpbnRlIMOgIHN1YSByZWFsaXphw6fDo28uIFRvZG9zIG9zIGNvbWVudMOhcmlvcyBzw6NvIGZlaXRvcyBwZWxvcyBub3Nzb3MgcHJvZmVzc29yZXMgZXNwZWNpYWxpc3RhcyBlIGRpc3BvbmliaWxpemFkb3MgZW0gdW0gw7puaWNvIFBERi4nDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogJ1PDrW50ZXNlIEVzdHJhdMOpZ2ljYScsDQogICAgICAgICAgICBpbWc6ICdzaW50ZXNlLWVzdHJhdGVnaWNhLnBuZycsDQogICAgICAgICAgICBkZXNjcmljYW86ICdPIHJlc3VtbyBkZSB2w6lzcGVyYSBkZSBwcm92YSBxdWUgZmFsdGF2YSBuYSBzdWEgcHJlcGFyYcOnw6NvISBBY2Vzc2Ugb3MgcHJpbmNpcGFpcyBhc3N1bnRvcyBkZSBjYWRhIGRpc2NpcGxpbmEgZW0gdW0gUERGIGN1cnRvIGNvbSBvcyB0ZW1hcyBxdWVudGVzIGVzcXVlbWF0aXphZG9zLicNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAnQXR1YWxpemHDp8O1ZXMgUXVpbnplbmFpcycsDQogICAgICAgICAgICBkZXNjcmljYW86ICdDbGlwcGluZyBkZSBub3TDrWNpYXMgZSBhdHVhbGl6YcOnw7VlcyBxdWluemVuYWlzIGRvIG11bmRvIGp1csOtZGljbyBwYXJhIHZvY8OqIGZpY2FyIHNhYmVuZG8gZGFzIHByaW5jaXBhaXMgYXR1YWxpemHDp8O1ZXMgZW0gcHJpbWVpcmEgbcOjby4nDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogJ0RpcmV0byBhbyBQb250bycsDQogICAgICAgICAgICBpbWc6ICdkaXJldG8tYW8tcG9udG8ucG5nJywNCiAgICAgICAgICAgIGRlc2NyaWNhbzogJ1VtIG1hdGVyaWFsIDcwJSBtZW5vciBkbyBxdWUgb3Mgbm9zc29zIGN1cnNvcyByZWd1bGFyZXMsIG1vbnRhZG8gYXRyYXbDqXMgZGUgZW5nZW5oYXJpYSByZXZlcnNhLCBlIGZvY2FkbyBubyBxdWUgbWFpcyDDqSBjb2JyYWRvIGVtIHByb3Zhcy48YnI+PGJyPiAqRGlzcG9uw612ZWwgYXR1YWxtZW50ZSBwYXJhIERlbGVnYWRvLCBQcm9jdXJhZG9yaWFzLCBNYWdpc3RyYXR1cmEgKEVOQU0pIGUgUHJvbW90b3JpYXMnDQogICAgICAgIH0NCiAgICBdOw0KDQogICAgLyogT1ZFUlJJREVTIElNRyBQQVNTT1M6IHsiTGl2cm8gRGlnaXRhbCBJbnRlcmF0aXZvIChMREkpIjoibGl2cm8tZGlnaXRhbC1pbnRlcmF0aXZvLnBuZyIsIkN1cnNvIFJlZ3VsYXJlcywgUHLDqSBlIFDDs3MtRWRpdGFsIChWaWRlb2F1bGFzIGUgZW0gUERGKSI6ImN1cnNvcy1yZWd1bGFyZXMucG5nIn0gKi8NCg0KICAgIC8vIEFycXVpdm9zIGN1am8gbm9tZSBuw6NvIHNlZ3VlIGEgZ3JhZmlhIGRvIHByb2Zlc3Nvcg0KICAgIHZhciBpbWFnZW5zUHJvZmVzc29yZXMgPSB7DQogICAgICAgICdGcmFuayBXZW5kZWwgQ2hvc3NhbmknOiAgJ2ZyYW5rLXduZGVsLWNob3NzYW5pLmpwZycsDQogICAgICAgICdSYWZhZWwgQmFycmV0byc6ICAgICAgICAgJ3JhZmFlbC1iYXJyZXR0by5qcGcnLA0KICAgICAgICAnRmzDoXZpbyBNaWxob21lbSc6ICAgICAgICAnZmxhdmlvLW1pbGhvbWVuLmpwZycsDQogICAgICAgICdKb3NpYXMgQmFyY2Vsb3MgSsO6bmlvcic6ICdqb3NpYXMtYmFyY2Vsb3MuanBnJywNCiAgICAgICAgJ0x1Y2FzIFBlc3PDtGEgTW9yZWlyYSc6ICAgJ2x1Y2FzLXBlc3NvYS5qcGcnDQogICAgfTsNCg0KICAgIHZhciBwcm9mZXNzb3JlcyA9IFsNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgRGVmZW5zb3JpYSIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBbGxhbiBKb29zIiwgICAgICBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIERlZmVuc29yaWEgZSBwcm9mZXNzb3IgZGUgRGlyZWl0byBQZW5hbCwgUHJvY2Vzc3VhbCBQZW5hbCwgQ3JpbWlub2xvZ2lhIGUgRXhlY3XDp8OjbyBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5pZWwgTWVzcXVpdGEiLCBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk1hcmlhIEVkdWFyZGEgU2VyZWpvIiwgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiWWFzbWluIFVzaGFyYSIsIGNhcmdvOiAiUHJvZ3JhbWEgZGUgTWV0YXMiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgQ2FydMOzcmlvcyIsDQogICAgICAgICAgICBlcXVpcGU6IFsNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBZHJpYW5vIMOBbHZhcmVzIiwgICAgICAgIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgQ2FydMOzcmlvcyBlIHByb2Zlc3NvciBkZSBUYWJlbGlvbmF0byBkZSBQcm90ZXN0b3MgZSBSZWdpc3RybyBkZSBJbcOzdmVpcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYWxvbWEgQmVydHRvdHRpIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIFJlZ2lzdHJvIENpdmlsIGRlIFBlc3NvYXMgTmF0dXJhaXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGF1bG8gU291c2EiLCAgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTmVsbWEgRm9udGFuYSIsICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZHJpZ28gVmFzbGluIiwgICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgQ2l2aWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kb2xmbyBQZW5uYSIsICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSWdvciBNYWNpZWwiLCAgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQWRtaW5pc3RyYXRpdm8gZSBEaXJlaXRvIGRvIENvbnN1bWlkb3IiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTWljaGFlbCBQcm9jw7NwaW8iLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxlb25hcmRvIFRhdmFyZXMiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3NvIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJpY2FyZG8gVG9ycXVlcyIsICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBFc3RhdHV0byBkYSBDcmlhbsOnYSBlIEFkb2xlc2NlbnRlIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkxlYW5kcm8gU2lnbm9yaSIsICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBBdHVhbGlkYWRlcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBc3N1ZXJvIFJvZHJpZ3VlcyBOZXRvIiwgY2FyZ286ICJUZW9yaWEgR2VyYWwgZG8gRGlyZWl0byBOb3RhcmlhbCBlIFJlZ2lzdHJhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJGcmFuayBXZW5kZWwgQ2hvc3NhbmkiLCAgY2FyZ286ICJUYWJlbGlvbmF0byBkZSBOb3RhcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSYWZhZWwgU3DDrW5vbGEgQ2FzdHJvIiwgIGNhcmdvOiAiUmVnaXN0cm8gZGUgSW3Ds3ZlaXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGVkcm8gUm9jaGEiLCAgY2FyZ286ICJUYWJlbGlvbmF0byBkZSBOb3RhcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJaHVydSBBc3N1bsOnw6NvIiwgIGNhcmdvOiAiIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb2Zlc3NvcmVzIGRlIFByb21vdG9yaWEiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiR3VpbGhlcm1lIFJlemVuZGUiLCBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIFByb21vdG9yaWEgZSBwcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIFBlbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlZpbmljaXVzIFpvcG9uaSIsICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0b3MgSHVtYW5vcyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJOZWxtYSBGb250YW5hIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhdWxvIFNvdXNhIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaGlhZ28gTGVpdGUiLCAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQW1iaWVudGFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkFsZXggRmFkZWwiLCAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgTGVnaXNsYcOnw6NvIFBlbmFsIEVzcGVjaWFsIGUgRUNBIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkd1c3Rhdm8gQ29yZGVpcm8iLCAgY2FyZ286ICJQcm9mZXNzb3IgZGUgZGlmdXNvcywgY29sZXRpdm9zIGUgaW5kaXZpZHVhaXMgaG9tb2fDqm5lb3MiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTWFyaXNhIEJlemVycmEiLCAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBUcmlidXTDoXJpbyBlIEVsZWl0b3JhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJBZHJ5YW4gSnV2ZXIiLCAgICBjYXJnbzogIiIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5pZWwgUml6emEiLCAgICBjYXJnbzogIkVtcHJlc2FyaWFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkZlbGlwZSBEdXF1ZSIsICAgIGNhcmdvOiAiRGlyZWl0byBUcmlidXTDoXJpbyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9mZXNzb3JlcyBkZSBNYWdpc3RyYXR1cmEiLA0KICAgICAgICAgICAgZXF1aXBlOiBbDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kcmlnbyBWYXNsaW4iLCAgICBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIE1hZ2lzdHJhdHVyYSBlIHByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgQ2l2aWwgZSBUdXRlbGEgQ29sZXRpdmEiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTmVsbWEgRm9udGFuYSIsICAgICBjYXJnbzogIlByb2Zlc3NvcmEgZGUgRGlyZWl0byBDb25zdGl0dWNpb25hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RvbGZvIFBlbm5hIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlBhdWxvIFNvdXNhIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBDaXZpbCBlIERpcmVpdG8gQWdyw6FyaW8iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTWljaGFlbCBQcm9jw7NwaW8iLCAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMZW9uYXJkbyBUYXZhcmVzIiwgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJdmFuIE1hcnF1ZXMiLCAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIExlZ2lzbGHDp8OjbyBQZW5hbCBFc3BlY2lhbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2fDqXJpbyBDdW5oYSIsICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFRyaWJ1dMOhcmlvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRoaWFnbyBMZWl0ZSIsICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBbWJpZW50YWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSWdvciBNYWNpZWwiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIGRvIENvbnN1bWlkb3IiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWxleCBGYWRlbCIsICAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBFQ0EiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiRGFubmllbCBBZHJpYW5vIiwgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkJydW5vIFRlcnJhIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQcm9jZXNzdWFsIENpdmlsIGUgQ29uc3VtaWRvciIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5pZWwgUml6emEiLCAgICBjYXJnbzogIkVtcHJlc2FyaWFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkd1c3Rhdm8gQ29yZGVpcm8iLCAgICBjYXJnbzogIkVDQSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMZW9uYXJkbyBGZXJuYW5kZXMiLCAgICBjYXJnbzogIkRpcmVpdG8gRWxlaXRvcmFsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkp1bGlhbmEgTW9yYWlzIiwgICAgY2FyZ286ICJEaXJlaXRvIGRvIFRyYWJhbGhvIGUgUHJvY2Vzc28gZG8gVHJhYmFsaG8iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgRGVsZWdhZG9zIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk1pY2hhZWwgUHJvY8OzcGlvIiwgIGNhcmdvOiAiQ29vcmRlbmFkb3IgZGEgw6FyZWEgZGUgRGVsZWdhZG9zIGUgcHJvZmVzc29yIGRlIERpcmVpdG8gUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUGF1bG8gU291c2EiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIENpdmlsIGUgRGlyZWl0byBBZ3LDoXJpbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJSb2RyaWdvIFZhc2xpbiIsICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQYXVsbyBCaWx5bnNreWoiLCAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIE1lZGljaW5hIExlZ2FsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIldhbGVza2EgQWx2YXJlbmdhIiwgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gUGVuYWwgZSBQZcOnYXMiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiTGVvbmFyZG8gVGF2YXJlcyIsICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIFByb2Nlc3N1YWwgUGVuYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSXZhbiBNYXJxdWVzIiwgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBMZWdpc2xhw6fDo28gUGVuYWwgRXNwZWNpYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUm9kb2xmbyBQZW5uYSIsICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk5lbG1hIEZvbnRhbmEiLCAgICAgY2FyZ286ICJQcm9mZXNzb3JhIGRlIERpcmVpdG8gQ29uc3RpdHVjaW9uYWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiUmljYXJkbyBUb3JxdWVzIiwgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvcyBIdW1hbm9zIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRoaWFnbyBMZWl0ZSIsICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBbWJpZW50YWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiSWdvciBNYWNpZWwiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIk90byBBbmRyYWRlIiwgICAgICAgY2FyZ286ICJEaXJlaXRvIENvbnN0aXR1Y2lvbmFsIGUgUGXDp2FzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkx1Y2FzIFBldHJ5IiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMYXJ5c3NhIE5ldmVzIiwgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBQZW5hbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJGYWJyw61jaW8gRHV0cmEiLCAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBQb3J0dWd1w6pzIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRpZWdvIENhcnZhbGhvIiwgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgSW5mb3Jtw6F0aWNhIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlRob21heiBSaWJlaXJvIiwgICAgY2FyZ286ICJXZWJpbmFyaXN0YSIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJQcmlzY2lsbGEgQ2FydmFsaG8iLCAgICBjYXJnbzogIldlYmluYXJpc3RhIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkx1Y2FzIEJyaXNvbGEiLCAgICBjYXJnbzogIk1lZGljaW5hIExlZ2FsIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJhZmFlbCBHb2JiaSIsICAgIGNhcmdvOiAiQ3JpbWluYWzDrXN0aWNhIGUgUHJvY2Vzc28gUGVuYWwiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiUHJvZmVzc29yZXMgZGUgUHJvY3VyYWRvcmlhIiwNCiAgICAgICAgICAgIGVxdWlwZTogWw0KICAgICAgICAgICAgICAgIHsgbm9tZTogIlJvZG9sZm8gUGVubmEiLCAgICAgICAgICBjYXJnbzogIkNvb3JkZW5hZG9yIGRhIMOhcmVhIGRlIFByb2N1cmFkb3JpYXMgZSBwcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJKb3NpYXMgQmFyY2Vsb3MgSsO6bmlvciIsIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gQ2l2aWwgZSBQcm9jZXNzbyBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJJZ29yIE1hY2llbCIsICAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBZG1pbmlzdHJhdGl2byBlIERpcmVpdG8gZG8gQ29uc3VtaWRvciIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJGZWxpcGUgRHVxdWUiLCAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBUcmlidXTDoXJpbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJKb8OjbyBMYXdhbGwiLCAgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gRmluYW5jZWlybyBlIEVjb27DtG1pY28iIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiQWRyaWFuYSBNZW5lemVzIiwgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yYSBkZSBEaXJlaXRvIFByZXZpZGVuY2nDoXJpbyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJMdWNhcyBQZXNzw7RhIE1vcmVpcmEiLCAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gZG8gVHJhYmFsaG8gZSBQcm9jZXNzbyBkbyBUcmFiYWxobyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJUaGlhZ28gTGVpdGUiLCAgICAgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBBbWJpZW50YWwiIH0sDQogICAgICAgICAgICAgICAgeyBub21lOiAiVGhhaXMgU291emEiLCAgICAgICAgICAgIGNhcmdvOiAiUHJvZmVzc29yIGRlIERpcmVpdG8gUHJvY2Vzc3VhbCBDaXZpbCIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJGZWxpcGUgRmVybmFuZGVzIiwgICAgICAgY2FyZ286ICJQcm9mZXNzb3IgZGUgRGlyZWl0byBkbyBUcmFiYWxobyIgfSwNCiAgICAgICAgICAgICAgICB7IG5vbWU6ICJEYW5pZWwgTWVzcXVpdGEiLCAgICAgICBjYXJnbzogIlByb2Zlc3NvciBkZSBEaXJlaXRvIEFkbWluaXN0cmF0aXZvIiB9LA0KICAgICAgICAgICAgICAgIHsgbm9tZTogIkRhbmllbCBSaXp6YSIsICAgICAgIGNhcmdvOiAiRW1wcmVzYXJpYWwiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfQ0KICAgIF07DQoNCiAgICB2YXIgcmVzdWx0YWRvcyA9IFsNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiNcK6IEVOQU0gKDIwMjYuMSkiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiNC41MDAgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGZvcmFtIGFwcm92YWRvcyBubyBFTkFNIDIwMjYuMSEiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiM8K6IEVOQUMgKDIwMjYuMSkiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIjM4MCBhbHVub3MgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMgZm9yYW0gYXByb3ZhZG9zIG5vIEVOQUMgMjAyNi4xISIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJBZHZvZ2FkbyBFTUNPUCBSaW8gUHJldG8gMjAyNiIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiQXByb3ZhZG8gZW0gMcK6IGx1Z2FyIMOpIGFsdW5vIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzLiIgfSwNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIkNvbmN1cnNvIG9mZXJ0b3UgYXBlbmFzIDEgdmFnYSAtIGFwcm92YWRvcyBlbSAywrosIDPCuiBlIDTCuiBsdWdhciB0YW1iw6ltIHPDo28gbm9zc29zIGFsdW5vcyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQR0UgTVQgUHJvY3VyYWRvciAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICI5IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28uIiB9LA0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiSW5jbHVzaXZlLCBvcyBhcHJvdmFkb3MgZW0gMcK6LCAywrogZSAzwrogbHVnYXIhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIk1QRiBQcm9jdXJhZG9yIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiMTQgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzbywgaW5jbHVpbmRvIG8gNMK6LCA2wrosIDfCuiBlIDnCuiBsdWdhci4iIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiRFBFIFJTIERlZmVuc29yIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIjcgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzbywgaW5jbHVpbmRvIG8gMsK6IGx1Z2FyLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJEZWxlZ2FkbyBQb2zDrWNpYSBGZWRlcmFsIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIjY2IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28uICIgfSwNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIkluY2x1c2l2ZSwgb3MgYXByb3ZhZG9zIGVtIDHCuiBlIDTCuiBsdWdhciEiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiRGVsZWdhZG8gUEMgQ0UgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInRyb2ZldSIsIHRleHRvOiAiMzcgYWx1bm9zIGRvIEVzdHJhdMOpZ2lhIENhcnJlaXJhcyBKdXLDrWRpY2FzIGFwcm92YWRvcyBubyBjb25jdXJzbywgaW5jbHVpbmRvIG8gNMK6IGx1Z2FyLiIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJQcm9jdXJhZG9yIEPDom1hcmEgZGUgSXR1bWJpYXJhIEdPIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIkFwcm92YWRvIGVtIDHCuiBsdWdhciDDqSBhbHVubyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcy4gQ29uY3Vyc28gb2ZlcnRvdSBhcGVuYXMgMSB2YWdhIC0gYXByb3ZhZG9zIGVtIDLCuiBlIDPCuiBsdWdhciB0YW1iw6ltIHPDo28gbm9zc29zIGFsdW5vcyIgfQ0KICAgICAgICAgICAgXQ0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICB0aXR1bG86ICJBZHZvZ2FkbyBOSVRUUkFOUyAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAidHJvZmV1IiwgdGV4dG86ICJBcHJvdmFkbyBlbSAxwrogbHVnYXIgw6kgYWx1bm8gZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMuIENvbmN1cnNvIG9mZXJ0b3UgYXBlbmFzIDEgdmFnYSAtIGFwcm92YWRvIGVtIDLCuiBsdWdhciB0YW1iw6ltIMOpIG5vc3NvIGFsdW5vIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkFkdm9nYWRvIFByZWZlaXR1cmEgZGUgSm9pbnZpbGxlIFNDIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJ0cm9mZXUiLCB0ZXh0bzogIkFwcm92YWRvIGVtIDHCuiBsdWdhciDDqSBhbHVubyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcy4gQ29uY3Vyc28gb2ZlcnRvdSBhcGVuYXMgMSB2YWdhIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIlByb21vdG9yIE1QIFJKIDIwMjUiLA0KICAgICAgICAgICAgY29ucXVpc3RhczogWw0KICAgICAgICAgICAgICAgIHsgaWNvbmU6ICJwb2RpbyIsIHRleHRvOiAiQXByb3ZhZG8gZW0gMsK6IGx1Z2FyIGVzdHVkb3UgY29tIG8gRXN0cmF0w6lnaWEgQ2FycmVpcmFzIEp1csOtZGljYXMuIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkFkdm9nYWRvIENSTyBTUCAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIkFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBvY3VwYW0gYXMgMiB2YWdhcyBvZmVydGFkYXMgbm8gY29uY3Vyc28uIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0sDQogICAgICAgIHsNCiAgICAgICAgICAgIHRpdHVsbzogIkp1aXogVEogU0MgMjAyNSIsDQogICAgICAgICAgICBjb25xdWlzdGFzOiBbDQogICAgICAgICAgICAgICAgeyBpY29uZTogInBvZGlvIiwgdGV4dG86ICI4IGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28sIGluY2x1aW5kbyBvIDHCuiBsdWdhciEiIH0NCiAgICAgICAgICAgIF0NCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgdGl0dWxvOiAiSnVpeiBMZWlnbyBUSiBTQyAyMDI1IiwNCiAgICAgICAgICAgIGNvbnF1aXN0YXM6IFsNCiAgICAgICAgICAgICAgICB7IGljb25lOiAicG9kaW8iLCB0ZXh0bzogIjIwIGFsdW5vcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYXMgSnVyw61kaWNhcyBhcHJvdmFkb3Mgbm8gY29uY3Vyc28sIGluY2x1aW5kbyAxwrogZSAywrogbHVnYXIuIiB9DQogICAgICAgICAgICBdDQogICAgICAgIH0NCiAgICBdOw0KDQogICAgdmFyIGR1dmlkYXMgPSBbDQogICAgICAgIHsNCiAgICAgICAgICAgIHBlcmd1bnRhOiAnSW5mb3JtYcOnw7VlcyBzb2JyZSBvICJQYWNvdGUgQ29tcGxldG8iJywNCiAgICAgICAgICAgIHJlc3Bvc3RhOiAnPHA+TyA8c3Ryb25nPiJQYWNvdGUgQ29tcGxldG8iPC9zdHJvbmc+IMOpIG8gbm9zc28gY3Vyc28gcGlsYXIhIE1vbnRhbW9zIG9zIHBhY290ZXMgcGFyYSBxdWUgdm9jw6osIGFsdW5vLCBjb25zaWdhIGVzdHVkYXIgY29tIG8gbWF0ZXJpYWwgbWFpcyBjb21wbGV0byBkbyBtZXJjYWRvLCBzZW0gcmVzdHJpw6fDtWVzIGRlIGNvbnRlw7pkby48L3A+IDxwPkFudGVzIGRlIHR1ZG8sIGRlc3RhY2Ftb3MgcXVlIG8gcGFjb3RlIGNvbnRlbXBsYSB0b2RvIG8gY29udGXDumRvIHByb2dyYW3DoXRpY28gcGFyYSBvIGNvbmN1cnNvLiBOZWxlLCBvcyBwcm9mZXNzb3JlcyBjb25zZWd1ZW0gaXIgbm8gZGV0YWxoZSBkZSBjYWRhIGFzc3VudG8gZSBleHBsaWNhciBkbyBiw6FzaWNvIGFvIGF2YW7Dp2Fkby48L3A+IDxwPkNvbXBvc3RvIHBvcjo8L3A+IDx1bD4gPGxpPjxzdHJvbmc+TGl2cm9zIGRpZ2l0YWlzIChQREZzKSBleGNsdXNpdm9zIGUgZGlzcG9uw612ZWlzIHBhcmEgZG93bmxvYWQsPC9zdHJvbmc+IHBhcmEgdm9jw6ogZXN0dWRhciBhIHF1YWxxdWVyIGhvcmEgZSBlbSBxdWFscXVlciBsdWdhciwgc2VtIHNlIHByZW9jdXBhciBjb20gYSBjb25leMOjbyDDoCA8aT5pbnRlcm5ldDwvaT47PC9saT4gPGxpPjxzdHJvbmc+VmlkZW9hdWxhczwvc3Ryb25nPiBwbGFuZWphZGFzIGUgcHJlcGFyYWRhcyBlc3BlY2lhbG1lbnRlIHBhcmEgcXVlIHZvY8OqIGFwcm92ZWl0ZSwgYW8gbcOheGltbywgdG9kbyBvIGNvbmhlY2ltZW50byBkb3Mgbm9zc29zIHByb2Zlc3NvcmVzOzwvbGk+IDxsaT48c3Ryb25nPkbDs3J1bSBkZSBkw7p2aWRhczwvc3Ryb25nPiBwYXJhIHZvY8OqIGVzY2xhcmVjZXIgYXF1ZWxhIGTDunZpZGEgY29tIHF1ZW0gZW50ZW5kZSBkYSBwcm92YSBlIGRvIGNvbnRlw7pkbyBlc3R1ZGFkbzs8L2xpPiA8bGk+PHN0cm9uZz5SZXN1bW9zIGVtIFBERjwvc3Ryb25nPiBwYXJhIG90aW1pemFyIG8gc2V1IHRlbXBvIGRlIGVzdHVkb3MgZSBvcmllbnRhciBhIHN1YSByZXZpc8Ojby48L2xpPiA8L3VsPiA8cD5PIGN1cnNvIGNvbXBsZXRvIMOpIDxzdHJvbmc+MTAwJSBmb2NhZG8gbm8gw7psdGltbyBlZGl0YWwgZG8gY29uY3Vyc288L3N0cm9uZz4gZSwgZGVzc2EgZm9ybWEsIGVsZSBhYm9yZGFyw6EgdG9kYXMgYXMgZGlzY2lwbGluYXMgcXVlIHPDo28gY29icmFkYXMgbm8gY29udGXDumRvIHByb2dyYW3DoXRpY28uIEFsw6ltIGRpc3NvLCB2b2PDqiBjb250YSBjb20gYSBhdHVhbGl6YcOnw6NvIGdyYXR1aXRhIGRvIGN1cnNvIHBhcmEgbyBww7NzLWVkaXRhbCwgbm8gY2FzbyBkZSBwdWJsaWNhw6fDo28gZG8gY29uY3Vyc28uPC9wPiA8cD5BbyBhZHF1aXJpciBlc3NhIG1vZGFsaWRhZGUgZGUgY3Vyc28sIHZvY8OqIHRlcsOhIGEgcG9zc2liaWxpZGFkZSBkZSBiYWl4YXIgdG9kYXMgYXMgYXVsYXMgKFBERnMgKyB2w61kZW9zKSBlIGVzdHVkYXIgcGVsbyBjb21wdXRhZG9yLCBjZWx1bGFyIG91IDxpPnRhYmxldDwvaT4gc2VtIGRlcGVuZGVyIGRvIHVzbyBkYSA8aT5pbnRlcm5ldDwvaT4uPC9wPicNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgcGVyZ3VudGE6ICdRdWFsIGEgZGlmZXJlbsOnYSBlbnRyZSBwYWNvdGVzIGUgYXNzaW5hdHVyYXM\/JywNCiAgICAgICAgICAgIHJlc3Bvc3RhOiAnPHA+U8OjbyBtdWl0b3Mgb3MgcHJvZHV0b3MgZSBzZXJ2acOnb3MgcXVlIG9mZXJlY2Vtb3MgZW0gbm9zc28gc2l0ZSwgcG9yIGlzc28sIHBhcmEgcXVlIG7Do28gaGFqYSBkw7p2aWRhcyBuYSBob3JhIGRlIGludmVzdGlyIG5vIG1lbGhvciBtYXRlcmlhbCBwYXJhIHNldSBwZXJmaWwgZSBzdWFzIGNvbmRpw6fDtWVzLCBleHBsaWNhcmVtb3MgYSBkaWZlcmVuw6dhIGVudHJlICJQYWNvdGVzIENvbXBsZXRvcyIgZSBub3NzYXMgQXNzaW5hdHVyYXMuPC9wPiA8cD48c3Ryb25nPlBhY290ZXMgQ29tcGxldG9zPC9zdHJvbmc+PC9wPiA8cD5QcmltZWlyYW1lbnRlLCBnb3N0YXLDrWFtb3MgZGUgZGl6ZXIgYSB2b2PDqiBxdWUgb3MgcGFjb3RlcyAoY29tcGxldG9zIG91IHJlZ3VsYXJlcykgZG8gRXN0cmF0w6lnaWEgQ2FycmVpcmEgSnVyw61kaWNhIHPDo28gbWF0ZXJpYWlzIHF1ZSBjb250w6ptIHR1ZG8gcXVlIHZvY8OqIHByZWNpc2EgcGFyYSBhIHN1YSBwcmVwYXJhw6fDo28gZSBzw6NvIHNlbXByZSBmb2NhZG9zIDEwMCUgbm8gZWRpdGFsIChwcsOpLWVkaXRhbCBvdSBww7NzLWVkaXRhbCkuPC9wPiA8cD5Db20gb3MgIlBhY290ZXMgQ29tcGxldG9zIiwgdm9jw6ogdGVyw6EgYWNlc3NvIGEgdG9kYXMgYXMgZGlzY2lwbGluYXMgY29icmFkYXMgbm8gY29uY3Vyc28gZGUgaW50ZXJlc3NlLjwvcD4gPHA+RW50cmV0YW50bywgYXMgYXVsYXMgc8OjbyBkaXJlY2lvbmFkYXMgc29tZW50ZSBwYXJhIHVtIGNvbmN1cnNvIGUgY2FyZ28gZXNwZWNpZmljYW1lbnRlLjwvcD4gPHA+RXguOiBQYWNvdGUgY29tcGxldG8gcGFyYSBEZWZlbnNvciBkYSBEUEUtU1AgKFDDs3MtRWRpdGFsKS48L3A+IDxwPjxzdHJvbmc+QXNzaW5hdHVyYXM8L3N0cm9uZz48L3A+IDxwPkrDoSBlbSBub3NzYXMgYXNzaW5hdHVyYXMsIHZvY8OqIHRlcsOhIHVtIGxlcXVlIGRlIHBvc3NpYmlsaWRhZGVzLCBsZXZhbmRvIGVtIGNvbnNpZGVyYcOnw6NvIHF1ZSwgYW8gYWRxdWlyaXIgdW1hIGRhcyBub3NzYXMgbW9kYWxpZGFkZXMgZGUgYXNzaW5hdHVyYXMsIHZvY8OqIHBvZGVyw6EgYWNlc3NhciBkaXZlcnNvcyBjdXJzb3MgZG8gc2l0ZS48L3A+IDxwPkltcG9ydGFudGU6IFZhbGUgbGVtYnJhciBxdWUgYXMgYXNzaW5hdHVyYXMgb2ZlcmVjZW0gdW1hIHPDqXJpZSBkZSBiw7RudXMgZXNwZWNpYWlzIHBhcmEgb3MgYWx1bm9zIHF1ZSBhcyBhZHF1aXJlbS4gU8OjbyBjdXJzb3MgZGUgYXByaW1vcmFtZW50byBlIGZlcnJhbWVudGFzIGV4Y2x1c2l2YXMgcGFyYSBlc3NlcyBwcm9kdXRvcy48L3A+Jw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBwZXJndW50YTogJ1F1YWwgYSBkaWZlcmVuw6dhIGVudHJlIFBhY290ZSBlIFBhY290YcOnbz8nLA0KICAgICAgICAgICAgcmVzcG9zdGE6ICc8cD5Db20gbyBQYWNvdGHDp28sIG7Ds3MgdmFtb3MgYWzDqW0gZG8gcXVlIGdlcmFsbWVudGUgw6kgb2ZlcmVjaWRvIG5vcyBQYWNvdGVzIENvbXBsZXRvcy4gQWzDqW0gZGUgdG9kbyBvIGNvbnRlw7pkbyB0ZcOzcmljbywgZW0gUERGIGUgdsOtZGVvLCBjb250aWRvIHRhbWLDqW0gbm8gUGFjb3RlIENvbXBsZXRvLCBvIFBhY290YcOnbyBjb250w6ltIHVtYSBwcmVwYXJhw6fDo28gY29tcGxldGEgcGFyYSBhIEZhc2UgRXNjcml0YSBlIE9yYWwgZG8gY2VydGFtZS48L3A+Jw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBwZXJndW50YTogJ8OJIHBvc3PDrXZlbCBjb21wcmFyIHVtYSBtYXTDqXJpYS9kaXNjaXBsaW5hIHNlcGFyYWRhbWVudGU\/JywNCiAgICAgICAgICAgIHJlc3Bvc3RhOiAnPHA+U2ltLCBjYXNvIHZvY8OqIHByZWZpcmEgY29tcHJhciBzb21lbnRlIHVtICBjdXJzbyBpc29sYWRhbWVudGUsIHNlbSBhZHF1aXJpciBvIHBhY290ZSwgaXNzbyBhaW5kYSDDqSBwZXJmZWl0YW1lbnRlIHBvc3PDrXZlbC48L3A+Jw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBwZXJndW50YTogJ1F1YWlzIGFzIGZvcm1hcyBkZSBwYWdhbWVudG8\/JywNCiAgICAgICAgICAgIHJlc3Bvc3RhOiAnPHA+Rm9ybWFzIGRlIHBhZ2FtZW50byBkZSBDdXJzb3MgZSBQYWNvdGVzPC9wPiA8dWw+IDxsaT48c3Ryb25nPkJvbGV0byBiYW5jw6FyaW86PC9zdHJvbmc+IE9zIGN1cnNvcyBlIHBhY290ZXMgcG9kZW0gc2VyIGFkcXVpcmlkb3MgcG9yIGJvbGV0byBiYW5jw6FyaW8gw6AgdmlzdGEgKG7Do28gcG9kZW5kbyBzZXIgcGFyY2VsYWRvKS4gQXDDs3MgbyBwYWdhbWVudG8sIG8gcHJhem8gZGUgY29tcGVuc2HDp8OjbyBiYW5jw6FyaWEgw6kgZGUgYXTDqSA0OCBob3JhcyDDunRlaXMuPC9saT4gPGxpPjxzdHJvbmc+UGl4Ojwvc3Ryb25nPiBPcyBjdXJzb3MgZSBwYWNvdGVzIHRhbWLDqW0gcG9kZW0gc2VyIGFkcXVpcmlkb3MgcG9yIHBpeCDDoCB2aXN0YSAobsOjbyBwb2RlbmRvIHNlciBwYXJjZWxhZG8pLiBBIGRpZmVyZW7Dp2Egw6kgcXVlLCBhcMOzcyBvIHBhZ2FtZW50bywgbyBjdXJzbyDDqSBsaWJlcmFkbyBpbWVkaWF0YW1lbnRlLjwvbGk+IDxsaT48c3Ryb25nPkNhcnTDo28gZGUgY3LDqWRpdG86PC9zdHJvbmc+IFRvZG9zIG9zIGN1cnNvcyBkbyBFc3RyYXTDqWdpYSBDYXJyZWlyYSBKdXLDrWRpY2EgcG9kZW0gc2VyIHBhZ29zIMOgIHZpc3RhIG5vIGNhcnTDo28gZGUgY3LDqWRpdG8gb3UgY29tIHBhcmNlbGFtZW50byBlbSBhdMOpIDEyeCBzZW0ganVyb3MsIHV0aWxpemFuZG8gYXTDqSBkb2lzIGNhcnTDtWVzLjwvbGk+IDwvdWw+Jw0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAgICBwZXJndW50YTogJ0NvbW8gZnVuY2lvbmEgbyBjYW5jZWxhbWVudG8gZGUgdW0gIlBhY290ZSI\/JywNCiAgICAgICAgICAgIHJlc3Bvc3RhOiAnPHA+RW0gcmVncmEsIHZvY8OqIGNvbnRhIGNvbSA3IGRpYXMgZGUgZ2FyYW50aWEgY29tIHJlZW1ib2xzbyBpbnRlZ3JhbC4gVmVyaWZpcXVlIGFzIGNvbmRpw6fDtWVzIHBvciBtZWlvIGRvIG5vc3NvIHRlcm1vcyBkZSB1c28uPC9wPicNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgICAgcGVyZ3VudGE6ICdPIHF1ZSDDqSBlIGNvbW8gZnVuY2lvbmEgYSAiR2FyYW50aWEgZGUgU2F0aXNmYcOnw6NvIj8nLA0KICAgICAgICAgICAgcmVzcG9zdGE6ICc8cD7DiSB0b3RhbG1lbnRlIG5vcm1hbCBmaWNhciB1bSBwb3VjbyBpbnNlZ3VybyBhbyBmYXplciB1bWEgY29tcHJhIG9uLWxpbmUgZSwgY29tbyBzZSB0cmF0YSBkZSB1bSBpbnZlc3RpbWVudG8sIHNhYmVtb3MgcXXDo28gaW1wb3J0YW50ZSDDqSBxdWUgdm9jw6ogc2Ugc2ludGEgY29uZm9ydMOhdmVsIHBhcmEgaW5pY2lhciBvcyBlc3R1ZG9zIHV0aWxpemFuZG8gbm9zc29zIGN1cnNvcy4gU2FiZW5kbyBkaXNzbywgbsOzcyBvZmVyZWNlbW9zIGFvcyBhbHVub3MgYSAiR0FSQU5USUEgREUgU0FUSVNGQcOHw4NPIE9VIERJTkhFSVJPIERFIFZPTFRBIi48L3A+IDxwPkNvbmZpYW1vcyB0YW50byBlbSBub3Nzb3MgbWF0ZXJpYWlzIGUgbm8gcXVlIGVsZSBwb2RlIG9mZXJlY2VyIGEgdm9jw6osIHF1ZSBkYW1vcyBhdMOpIDA3IGRpYXMgcGFyYSBxdWUgcG9zc2EgY29uaGVjZXIgYWluZGEgbWFpcyBub3Nzb3MgY3Vyc29zIGUgYWRhcHRhci1zZSDDoCBub3NzYSBtZXRvZG9sb2dpYSBkZSBlbnNpbm8hPC9wPiA8cD7DiSBtdWl0byBkaWbDrWNpbCB2b2PDqiBuw6NvIGdvc3RhciBvdSBzZSBhZGFwdGFyIMOgIHF1YWxpZGFkZSBkbyBtYXRlcmlhbCBxdWUgb2ZlcmVjZW1vczsgbWFzLCBzZSBhaW5kYSBhc3NpbSBhY29udGVjZXIsIHJlYWxpemFtb3MgbyBjYW5jZWxhbWVudG8gZGEgc3VhIGNvbXByYSouPC9wPiA8cD4qVmVyaWZpcXVlIGFzIGNvbmRpw6fDtWVzLCBwb3IgbWVpbyBkbyBub3NzbyAiPGEgaHJlZj0iaHR0cHM6Ly93d3cuZXN0cmF0ZWdpYWNvbmN1cnNvcy5jb20uYnIvcGFnaW5hL3Rlcm1vcy1kZS11c28vIiB0YXJnZXQ9Il9ibGFuayI+PHN0cm9uZz5UZXJtb3MgZGUgdXNvPC9zdHJvbmc+PC9hPiIsIGEgcGFydGlyIGRvIGl0ZW0gNiAoIkRvIENhbmNlbGFtZW50byIpLjwvcD4nDQogICAgICAgIH0NCiAgICBdOw0KDQogICAgLy8gw41uZGljZSBwb3Igc2x1ZzogbyBiYW5uZXIgZSBvIHByZWVuY2hpbWVudG8gZGUgcHJlw6dvcyByZWFwcm92ZWl0YW0NCiAgICAvLyBvIHBhY290ZSBqw6EgZGVjbGFyYWRvLCBzZW0gcmVwZXRpciBub21lIG5lbSBpdGVucy4NCg0KICAgIHZhciBwb3JTbHVnID0ge307DQoNCiAgICBwYWNvdGVzLmZvckVhY2goZnVuY3Rpb24gKGdydXBvKSB7DQogICAgICAgIGdydXBvLmNhcmRzLmZvckVhY2goZnVuY3Rpb24gKGNhcmQpIHsgcG9yU2x1Z1tjYXJkLnNsdWddID0gY2FyZDsgfSk7DQogICAgfSk7DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBCYW5uZXIgUHJpbmNpcGFsDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAgICBmdW5jdGlvbiBtb250YXJCYW5uZXIgKCkgew0KDQogICAgICAgICQoJy5iYW5uZXJQcmluY2lwYWwgLnBsYW5vc0Jhbm5lcicpLmh0bWwoDQoNCiAgICAgICAgICAgIGJhbm5lci5tYXAoZnVuY3Rpb24gKHNsdWdQcm9kdXRvKSB7DQoNCiAgICAgICAgICAgICAgICB2YXIgY2FyZCA9IHBvclNsdWdbc2x1Z1Byb2R1dG9dOw0KDQogICAgICAgICAgICAgICAgaWYgKCFjYXJkKSB7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignQmFubmVyIHJlZmVyZW5jaWEgdW0gcGFjb3RlIGluZXhpc3RlbnRlOiAiJyArIHNsdWdQcm9kdXRvICsgJyIuJyk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnJzsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94QXNzaW5hdHVyYSI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ0aXR1bG8iPicgKyBlc2NhcGFySHRtbChjYXJkLm5vbWUpICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHVsPicgKyBtb250YXJJdGVucyhjYXJkLml0ZW5zKSArICc8L3VsPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hQcmVjbyIgZGF0YS1zbHVnPSInICsgY2FyZC5zbHVnICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icHJlY29EZSBub25lIj48L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxhIGhyZWY9IicgKyBVUkxfUFJPRFVUTyArIGNhcmQuc2x1ZyArICciPkNvbXByZSBhZ29yYTwvYT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgICAgICAgICB9KS5qb2luKCcnKQ0KDQogICAgICAgICk7DQoNCiAgICB9DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBQYWNvdGVzICgjYWNjb3JkaW9uUGFjb3RlcykNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckl0ZW5zIChpdGVucykgew0KDQogICAgICAgIHJldHVybiBpdGVucy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsNCiAgICAgICAgICAgIHJldHVybiAnPGxpPicgKyBlc2NhcGFySHRtbChpdGVtKSArICc8L2xpPic7DQogICAgICAgIH0pLmpvaW4oJycpOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQ2FyZFBhY290ZSAoY2FyZCkgew0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94QXNzaW5hdHVyYSBjb2wtc20tMyI+JyArDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveEludGVybm8iPicgKw0KICAgICAgICAgICAgICAgICAgICAnPGgyPicgKyBlc2NhcGFySHRtbChjYXJkLm5vbWUpICsgJzwvaDI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hCZyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ibGlzdGFCb251cyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx1bD4nICsgbW9udGFySXRlbnMoY2FyZC5pdGVucykgKyAnPC91bD4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hQcmVjb3MiIGRhdGEtc2x1Zz0iJyArIGNhcmQuc2x1ZyArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ibGVnZW5kYSI+Tm8gY2FydMOjbzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InByZWNvRGUgbm9uZSI+PC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icHJlY29Qb3IiPjwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9ImxlZ2VuZGEiPisxMCUgb2ZmIG5vIGJvbGV0byBvdSBQaXg8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxhIGhyZWY9IicgKyBVUkxfUFJPRFVUTyArIGNhcmQuc2x1ZyArICciPkNvbXByZSBqw6E8L2E+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveExpbmtTYWliYSI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGEgY2xhc3M9ImxpbmtTYWliYSI+Q29uaGXDp2EgYXMgZnVuY2lvbmFsaWRhZGVzPC9hPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgJzwvZGl2Pic7DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJQYWNvdGVzICgpIHsNCg0KICAgICAgICAkKCcjYWNjb3JkaW9uUGFjb3RlcycpLmh0bWwobW9udGFyQWNjb3JkaW9uKCdQYWNvdGVzJywgcGFjb3RlcywNCg0KICAgICAgICAgICAgZnVuY3Rpb24gKGdydXBvKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGl0dWxvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsb0xvdGUiPicgKyBlc2NhcGFySHRtbChncnVwby50aXR1bG8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iJyArIElDT05FX0FCUklSICsgJyIgYWx0PSJBYnJpciBkw7p2aWRhIiAvPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JzsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIChncnVwbykgew0KICAgICAgICAgICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgZ3J1cG8uY2FyZHMubWFwKG1vbnRhckNhcmRQYWNvdGUpLmpvaW4oJycpICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hMaW5rUGFjb3RlcyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxhIGhyZWY9IicgKyBncnVwby52ZXJNYWlzICsgJyIgdGFyZ2V0PSJfYmxhbmsiPlZlciBtYWlzIHBhY290ZXM8L2E+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICkpOw0KDQogICAgfQ0KDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLy8gQ29uY3Vyc29zIGRvcyBTb25ob3MNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIC8vIEEgaW1hZ2VtIHNlZ3VlIG8gbm9tZSBkbyBjb25jdXJzbyAoIkRQIERGIiAtPiAiZHAtZGYucG5nIikNCg0KICAgIGZ1bmN0aW9uIG1vbnRhckNvbmN1cnNvcyAoKSB7DQoNCiAgICAgICAgJCgnLmNvbmN1cnNvRG9zU29uaG9zIHVsJykuaHRtbCgNCg0KICAgICAgICAgICAgY29uY3Vyc29zLm1hcChmdW5jdGlvbiAoY29uY3Vyc28pIHsNCg0KICAgICAgICAgICAgICAgIHZhciBub21lID0gZXNjYXBhckh0bWwoY29uY3Vyc28ubm9tZSk7DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGxpIGNsYXNzPSJjb2wtc20tNCI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxmaWd1cmU+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvY29uY3Vyc29zLWRvcy1zb25ob3MvJyArIHNsdWcoY29uY3Vyc28ubm9tZSkgKyAnLnBuZyIgYWx0PSInICsgbm9tZSArICciPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L2ZpZ3VyZT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGV4dG9Db25jdXJzbyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aDM+JyArIG5vbWUgKyAnPC9oMz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ2YWdhcyI+JyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLnZhZ2FzKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ic2FsYXJpbyI+JyArIGVzY2FwYXJIdG1sKGNvbmN1cnNvLnNhbGFyaW8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2xpPic7DQoNCiAgICAgICAgICAgIH0pLmpvaW4oJycpDQoNCiAgICAgICAgKTsNCg0KICAgIH0NCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIFByZXZpc8OjbyBkZSBBdW1lbnRvOiBtZW51IGUgaW1hZ2VucyBzYWVtIGRhIG1lc21hIGxpc3RhDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAgICBmdW5jdGlvbiBtb250YXJQcmV2aXNvZXMgKCkgew0KDQogICAgICAgICQoJy5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFNZW51cyB1bCcpLmh0bWwoDQoNCiAgICAgICAgICAgIHByZXZpc29lcy5tYXAoZnVuY3Rpb24gKG5vbWUsIGluZGljZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnPGxpIGNsYXNzPSInICsgKGluZGljZSA9PT0gMCA\/ICdhY3RpdmUnIDogJycpICsgJyInICsNCiAgICAgICAgICAgICAgICAgICAgJyBjb250ZXVkbz0iY29udGV1ZG9QcmV2aXNhbycgKyBpbmRpY2UgKyAnIj4nICsgZXNjYXBhckh0bWwobm9tZSkgKyAnPC9saT4nOw0KICAgICAgICAgICAgfSkuam9pbignJykNCg0KICAgICAgICApOw0KDQogICAgICAgICQoJy5wcmV2aXNhb0RlQXVtZW50byAubGlzdGFDb250ZXVkb3MgLmJveEludGVybm8nKS5odG1sKA0KDQogICAgICAgICAgICBwcmV2aXNvZXMubWFwKGZ1bmN0aW9uIChub21lLCBpbmRpY2UpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SXRlbUNvbnRldWRvJyArIChpbmRpY2UgPT09IDAgPyAnJyA6ICcgbm9uZScpICsgJyIgaWQ9ImNvbnRldWRvUHJldmlzYW8nICsgaW5kaWNlICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGZpZ3VyZT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9Imh0dHBzOi8vbWt0LmVzdHJhdGVnaWEuY29tL2NqL3dwLWNvbnRlbnQvdXBsb2Fkcy9zaXRlcy8zLzIwMjYvMDkvcHJldmlzb2VzLScgKyBzbHVnKG5vbWUpICsgJy1zZXQyMDI2LndlYnAiIGFsdD0iJyArIGVzY2FwYXJIdG1sKG5vbWUpICsgJyIgLz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2ZpZ3VyZT4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2Pic7DQogICAgICAgICAgICB9KS5qb2luKCcnKQ0KDQogICAgICAgICk7DQoNCiAgICB9DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBDYXJyZWlyYXMgSnVyw61kaWNhczogZ3JhZGUgbm8gZGVza3RvcCwgYWNjb3JkaW9uIG5vIG1vYmlsZQ0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24gaWNvbmVDYXJyZWlyYSAoY2FycmVpcmEpIHsNCiAgICAgICAgcmV0dXJuICdodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvY2FycmVpcmFzLycgKyBzbHVnKGNhcnJlaXJhLnRpdHVsbykgKyAnLnN2Zyc7DQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQ2FycmVpcmFzICgpIHsNCg0KICAgICAgICAkKCcuY2FycmVpcmFzRGVDb25jdXJzb3MgLmxpc3RhQ2FycmVpcmFzJykuaHRtbCgNCg0KICAgICAgICAgICAgY2FycmVpcmFzLm1hcChmdW5jdGlvbiAoY2FycmVpcmEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29sLXNtLTQgYm94SXRlbSI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgc3JjPSInICsgaWNvbmVDYXJyZWlyYShjYXJyZWlyYSkgKyAnIiBhbHQ9IicgKyBlc2NhcGFySHRtbChjYXJyZWlyYS50aXR1bG8pICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ0aXR1bG8iPicgKyBlc2NhcGFySHRtbChjYXJyZWlyYS50aXR1bG8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRleHRvIj4nICsgZXNjYXBhckh0bWwoY2FycmVpcmEudGV4dG8pICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2Pic7DQogICAgICAgICAgICB9KS5qb2luKCcnKQ0KDQogICAgICAgICk7DQoNCiAgICAgICAgJCgnI2FjY29yZGlvbkNhcnJlaXJhcycpLmh0bWwobW9udGFyQWNjb3JkaW9uKCdDYXJyZWlyYXMnLCBjYXJyZWlyYXMsDQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIChjYXJyZWlyYSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InRleHRvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBpY29uZUNhcnJlaXJhKGNhcnJlaXJhKSArICciIGFsdD0iJyArIGVzY2FwYXJIdG1sKGNhcnJlaXJhLnRpdHVsbykgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsbyI+JyArIGVzY2FwYXJIdG1sKGNhcnJlaXJhLnRpdHVsbykgKyAnPC9zcGFuPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxpbWcgY2xhc3M9ImltZ0FicmlyIiBzcmM9IicgKyBJQ09ORV9BQlJJUiArICciIGFsdD0iQWJyaXIgQ2FycmVpcmEiIC8+JyArDQogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nOw0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgZnVuY3Rpb24gKGNhcnJlaXJhKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPjxwPicgKyBlc2NhcGFySHRtbChjYXJyZWlyYS50ZXh0bykgKyAnPC9wPjwvZGl2Pic7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgKSk7DQoNCiAgICB9DQoNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgICAvLyBDb250ZcO6ZG9zIGUgZnVuY2lvbmFsaWRhZGVzICgjYWNjb3JkaW9uUGFzc29zKQ0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgZnVuY3Rpb24gbW9udGFyQ29udGV1ZG9zICgpIHsNCg0KICAgICAgICAkKCcjYWNjb3JkaW9uUGFzc29zJykuaHRtbChtb250YXJBY2NvcmRpb24oJ1Bhc3NvcycsIGNvbnRldWRvcywNCg0KICAgICAgICAgICAgZnVuY3Rpb24gKGNvbnRldWRvKSB7DQogICAgICAgICAgICAgICAgdmFyIHRhZyA9IGNvbnRldWRvLm5vdm8gPyAnIDxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtdGFnLW5vdm8uc3ZnIiBhbHQ9Ik5vdm8iIC8+JyA6ICcnOw0KICAgICAgICAgICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbC1zbS0xMiI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPSJ0aXR1bG8iPicgKyBlc2NhcGFySHRtbChjb250ZXVkby50aXR1bG8pICsgdGFnICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBjbGFzcz0iaW1nQnV0dG9uIiBzcmM9IicgKyBJQ09ORV9BQlJJUiArICciIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2Pic7DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICBmdW5jdGlvbiAoY29udGV1ZG8pIHsNCiAgICAgICAgICAgICAgICAvLyAiZGVzY3JpY2FvIiBhY2VpdGEgSFRNTDogYWxndW5zIGl0ZW5zIHVzYW0gPGJyPiBwYXJhIHNlcGFyYXIgYSBvYnNlcnZhw6fDo28NCiAgICAgICAgICAgICAgICB2YXIgaW1hZ2VtID0gY29udGV1ZG8uaW1nDQogICAgICAgICAgICAgICAgICAgID8gJzxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9wYXNzb3MvJyArIGNvbnRldWRvLmltZyArICciIGFsdD0iJyArIGVzY2FwYXJIdG1sKGNvbnRldWRvLnRpdHVsbykgKyAnIiAvPicNCiAgICAgICAgICAgICAgICAgICAgOiAnJzsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29udGFpbmVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb2wtc20tMTIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cD4nICsgY29udGV1ZG8uZGVzY3JpY2FvICsgJzwvcD4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZW0gKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JzsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICApKTsNCg0KICAgIH0NCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIFByb2Zlc3NvcmVzICgjYWNjb3JkaW9uUHJvZmVzc29yZXMpDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAgICAvLyBBIGZvdG8gc2VndWUgYSBncmFmaWEgZG8gbm9tZSAoIkFsbGFuIEpvb3MiIC0+ICJhbGxhbi1qb29zLmpwZyIpLA0KICAgIC8vIHNhbHZvIG9zIGFycXVpdm9zIGxpc3RhZG9zIGVtIGltYWdlbnNQcm9mZXNzb3Jlcy4NCg0KICAgIGZ1bmN0aW9uIGZvdG9Qcm9mZXNzb3IgKG5vbWUpIHsNCg0KICAgICAgICB2YXIgYXJxdWl2byA9IGltYWdlbnNQcm9mZXNzb3Jlc1tub21lXSB8fCBzbHVnKG5vbWUpICsgJy5qcGcnOw0KDQogICAgICAgIHJldHVybiAnaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvcHJvZmVzc29yZXMvJyArIGFycXVpdm87DQoNCiAgICB9DQoNCiAgICBmdW5jdGlvbiBtb250YXJQcm9mZXNzb3JlcyAoKSB7DQoNCiAgICAgICAgJCgnI2FjY29yZGlvblByb2Zlc3NvcmVzJykuaHRtbChtb250YXJBY2NvcmRpb24oJ1Byb2Zlc3NvcmVzJywgcHJvZmVzc29yZXMsDQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIChhcmVhKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImNvbnRhaW5lciI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRpdHVsbyI+JyArIGVzY2FwYXJIdG1sKGFyZWEudGl0dWxvKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGltZyBzcmM9IicgKyBJQ09ORV9BQlJJUiArICciIGFsdD0iQWJyaXIgZMO6dmlkYSIgLz4nICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2Pic7DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICBmdW5jdGlvbiAoYXJlYSkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb250YWluZXIiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzx1bD4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmVhLmVxdWlwZS5tYXAoZnVuY3Rpb24gKHByb2Zlc3Nvcikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbm9tZSA9IGVzY2FwYXJIdG1sKHByb2Zlc3Nvci5ub21lKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8bGkgY2xhc3M9ImNvbC1zbS0zIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94SW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iJyArIGZvdG9Qcm9mZXNzb3IocHJvZmVzc29yLm5vbWUpICsgJyIgYWx0PSInICsgbm9tZSArICciIC8+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUZXh0byI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9Im5vbWUiPicgKyBub21lICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cD4nICsgZXNjYXBhckh0bWwocHJvZmVzc29yLmNhcmdvKSArICc8L3A+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9saT4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLmpvaW4oJycpICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L3VsPicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JzsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICApKTsNCg0KICAgIH0NCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIFJlc3VsdGFkb3MgZW0gY29uY3Vyc29zDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAgICAvLyBDYWRhIGNvbnF1aXN0YSDDqSB1bSBkZXN0YXF1ZSAow61jb25lIGRlIHDDs2Rpby90cm9mw6l1KSBvdSB1bSBwZXJjZW50dWFsDQogICAgLy8gKGdyw6FmaWNvKS4gInRleHRvIiBhY2VpdGEgSFRNTCDigJQgcXVhc2UgdG9kb3MgdXNhbSA8c3Ryb25nPiBubyBuw7ptZXJvLg0KDQogICAgZnVuY3Rpb24gbW9udGFyQ29ucXVpc3RhIChjb25xdWlzdGEpIHsNCg0KICAgICAgICB2YXIgZGVzdGFxdWUgPSBjb25xdWlzdGEucGVyY2VudHVhbCAhPT0gdW5kZWZpbmVkDQogICAgICAgICAgICA\/ICc8ZGl2IGNsYXNzPSJjaGFydCBlYXN5LXBpZS1jaGFydCIgZGF0YS1wZXJjZW50PSInICsgY29ucXVpc3RhLnBlcmNlbnR1YWwgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0icGVyY2VudCI+JyArIGNvbnF1aXN0YS5wZXJjZW50dWFsICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgJzwvZGl2PicNCiAgICAgICAgICAgIDogJzxpbWcgc3JjPSJodHRwczovL2NqLmVzdHJhdGVnaWEuY29tL2xwL3BhY290ZXMvYXNzZXRzL2ltZy9pY29uZXMvaWMtJyArIGNvbnF1aXN0YS5pY29uZSArICcuc3ZnIiBhbHQ9IlZlciBNYWlzIj4nOw0KDQogICAgICAgIHJldHVybiAnJyArDQogICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UmVzdWx0YWRvIj4nICsNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94UmVzdWx0YWRvSW50ZXJubyI+JyArDQogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJib3hUZXh0byI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9InRleHRvIj4nICsgY29ucXVpc3RhLnRleHRvICsgJzwvc3Bhbj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RhcXVlICsNCiAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICc8L2Rpdj4nICsNCiAgICAgICAgICAgICc8L2Rpdj4nOw0KDQogICAgfQ0KDQogICAgZnVuY3Rpb24gbW9udGFyUmVzdWx0YWRvcyAoKSB7DQoNCiAgICAgICAgLy8gcHJlcGVuZDogbyBib3TDo28gIk1vc3RyYXIgbWFpcyByZXN1bHRhZG9zIiDDqSBvIMO6bHRpbW8gZmlsaG8gZG8gY29udGFpbmVyDQogICAgICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbnRhaW5lcicpLnByZXBlbmQoDQoNCiAgICAgICAgICAgIHJlc3VsdGFkb3MubWFwKGZ1bmN0aW9uIChyZXN1bHRhZG8pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY29sLXNtLTMiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImJveENhcnJlaXJhIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iYm94VGl0dWxvIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxoMz4nICsgZXNjYXBhckh0bWwocmVzdWx0YWRvLnRpdHVsbykgKyAnPC9oMz4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RhSXRlbnMiPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRhZG8uY29ucXVpc3Rhcy5tYXAobW9udGFyQ29ucXVpc3RhKS5qb2luKCcnKSArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JzsNCiAgICAgICAgICAgIH0pLmpvaW4oJycpDQoNCiAgICAgICAgKTsNCg0KICAgIH0NCg0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgIC8vIFRpcmUgc3VhcyBkw7p2aWRhcyAoI2FjY29yZGlvbikNCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KICAgIGZ1bmN0aW9uIG1vbnRhckR1dmlkYXMgKCkgew0KDQogICAgICAgIC8vIEVzdHJ1dHVyYSBwcsOzcHJpYTogbyBjb3JwbyBuw6NvIHRlbSAuY29udGFpbmVyIGUgYSBzZXRhIMOpIG91dHJvIMOtY29uZQ0KICAgICAgICAkKCcjYWNjb3JkaW9uJykuaHRtbCgNCg0KICAgICAgICAgICAgZHV2aWRhcy5tYXAoZnVuY3Rpb24gKGR1dmlkYSwgaW5kaWNlKSB7DQoNCiAgICAgICAgICAgICAgICB2YXIgYWJlcnRvID0gaW5kaWNlID09PSAwOw0KICAgICAgICAgICAgICAgIHZhciBpZCAgICAgPSAnRHV2aWRhcycgKyAoaW5kaWNlICsgMSk7DQoNCiAgICAgICAgICAgICAgICByZXR1cm4gJycgKw0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iY2FyZCBwYW5lbCBwYW5lbC1kZWZhdWx0Ij4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciIgaWQ9ImhlYWRpbmcnICsgaWQgKyAnIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInICsgKGFiZXJ0byA\/ICcnIDogJ2NvbGxhcHNlZCcpICsgJyInICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjY29sbGFwc2UnICsgaWQgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtZXhwYW5kZWQ9IicgKyAoYWJlcnRvID8gJ3RydWUnIDogJ2ZhbHNlJykgKyAnIicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGFyaWEtY29udHJvbHM9ImNvbGxhcHNlJyArIGlkICsgJyI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8c3Bhbj4nICsgZXNjYXBhckh0bWwoZHV2aWRhLnBlcmd1bnRhKSArICc8L3NwYW4+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLWFycm93LWRvd24uc3ZnIiBhbHQ9IkFicmlyIGTDunZpZGEiIC8+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxkaXYgaWQ9ImNvbGxhcHNlJyArIGlkICsgJyIgY2xhc3M9ImNvbGxhcHNlIGJveENvbnRldWRvJyArIChhYmVydG8gPyAnIGluJyA6ICcnKSArICciJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBhcmlhLWxhYmVsbGVkYnk9ImhlYWRpbmcnICsgaWQgKyAnIiBkYXRhLXBhcmVudD0iI2FjY29yZGlvbiI+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gInJlc3Bvc3RhIiDDqSB1bSBibG9jbyBkZSBIVE1MIHByb250byAoPHA+LCA8dWw+LCA8YT4sIC4uLikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXZpZGEucmVzcG9zdGEgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzwvZGl2PicgKw0KICAgICAgICAgICAgICAgICAgICAnPC9kaXY+JzsNCg0KICAgICAgICAgICAgfSkuam9pbignJykNCg0KICAgICAgICApOw0KDQogICAgfQ0KDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLy8gTW9udGFnZW0gZGEgcMOhZ2luYQ0KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogICAgbW9udGFyUGFjb3RlcygpOw0KICAgIG1vbnRhckJhbm5lcigpOw0KICAgIG1vbnRhckNvbmN1cnNvcygpOw0KICAgIG1vbnRhclByZXZpc29lcygpOw0KICAgIG1vbnRhckNhcnJlaXJhcygpOw0KICAgIG1vbnRhckNvbnRldWRvcygpOw0KICAgIG1vbnRhclByb2Zlc3NvcmVzKCk7DQogICAgbW9udGFyUmVzdWx0YWRvcygpOw0KICAgIG1vbnRhckR1dmlkYXMoKTsNCg0KICAgIC8vIFVtYSByZXF1aXNpw6fDo28gcG9yIHBhY290ZTsgbyBiYW5uZXIgcmVhcHJvdmVpdGEgb3MgbWVzbW9zIHNsdWdzDQogICAgdmFyIHNsdWdzID0gT2JqZWN0LmtleXMocG9yU2x1Zyk7DQoNCiAgICBQcm9taXNlLmFsbChzbHVncy5tYXAoY2FycmVnYXJQcmVjb3MpKS50aGVuKGZ1bmN0aW9uIChsaXN0YSkgew0KDQogICAgICAgIHZhciBwcmVjb3MgPSB7fTsNCg0KICAgICAgICBzbHVncy5mb3JFYWNoKGZ1bmN0aW9uIChzbHVnUHJvZHV0bywgaSkgew0KICAgICAgICAgICAgcHJlY29zW3NsdWdQcm9kdXRvXSA9IGxpc3RhW2ldOw0KICAgICAgICB9KTsNCg0KICAgICAgICBwcmVlbmNoZXJQcmVjb3MocHJlY29zKTsNCg0KICAgIH0pOw0KDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogICAgLy8gSW50ZXJhw6fDtWVzDQogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAgICAvLyBIZWFkZXIgRml4bw0KDQogICAgZnVuY3Rpb24gdmFsaWRhSGVhZGVyICgpIHsNCg0KICAgICAgICAkKCcuaGVhZGVyTGFuZGluZzIwMjInKS50b2dnbGVDbGFzcygnc2Nyb2xsJywgJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPiA1MCk7DQoNCiAgICB9DQoNCiAgICB2YWxpZGFIZWFkZXIoKTsNCg0KICAgICQod2luZG93KS5zY3JvbGwodmFsaWRhSGVhZGVyKTsNCg0KICAgIC8vIFBhY290ZXMNCg0KICAgICQoJy5saXN0YVBhY290ZXMnKS5vbignY2xpY2snLCAnLmJveExpbmtTYWliYSAubGlua1NhaWJhJywgZnVuY3Rpb24oKSB7DQogICAgICAgICQoImh0bWwsIGJvZHkiKS5hbmltYXRlKHsNCiAgICAgICAgICAgIHNjcm9sbFRvcDogJCgnI3Bhc3Nvc0Fwcm92YWNhbycpLm9mZnNldCgpLnRvcCAtIDMwDQogICAgICAgIH0sIDUwMCk7DQogICAgfSkNCg0KICAgIC8vIFZhZ2FzIFByZXZpc3Rhcw0KDQogICAgJCgnLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzJykub24oJ2NsaWNrJywgJ3VsIGxpJywgZnVuY3Rpb24gKCkgew0KDQogICAgICAgIC8vIFJlc2V0YSBvIE1lbnUgZSBzZXRhIG8gYXR1YWwgY29tbyBhY3RpdmUNCiAgICAgICAgJCgnLnByZXZpc2FvRGVBdW1lbnRvIC5saXN0YU1lbnVzIHVsIGxpJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpDQogICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpDQoNCiAgICAgICAgLy8gUmVzZXRhIG9zIENvbnRlw7pkb3MgZSBtb3N0cmEgbyBzZWxlY2lvbmFkbw0KICAgICAgICAkKCcucHJldmlzYW9EZUF1bWVudG8gLmxpc3RhQ29udGV1ZG9zIC5ib3hJdGVtQ29udGV1ZG8nKS5hZGRDbGFzcygnbm9uZScpDQogICAgICAgICQoJyMnICsgJCh0aGlzKS5hdHRyKCdjb250ZXVkbycpKS5yZW1vdmVDbGFzcygnbm9uZScpDQoNCiAgICB9KQ0KDQogICAgLy8gQ29uY3Vyc29zIGRvcyBTb25ob3MNCg0KICAgICQoJy5jb25jdXJzb0Rvc1NvbmhvcyB1bCcpLnNsaWNrKHsNCiAgICAgICAgZG90czogZmFsc2UsDQogICAgICAgIGluZmluaXRlOiBmYWxzZSwNCiAgICAgICAgc3BlZWQ6IDMwMCwNCiAgICAgICAgYXJyb3dzOiB0cnVlLA0KICAgICAgICBhdXRvcGxheTogZmFsc2UsDQogICAgICAgIHNsaWRlc1RvU2hvdzogMywNCiAgICAgICAgbmV4dEFycm93OiAnPGRpdiBjbGFzcz0icHJveGltbyBzZXRhQmFubmVyIj48aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNldGEtYmFubmVyLnN2ZyIgLz48L2Rpdj4nLA0KICAgICAgICBwcmV2QXJyb3c6ICc8ZGl2IGNsYXNzPSJhbnRlcmlvciBzZXRhQmFubmVyIj48aW1nIHNyYz0iaHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy9pbWcvaWNvbmVzL2ljLXNldGEtYmFubmVyLnN2ZyIgLz48L2Rpdj4nLA0KICAgICAgICByZXNwb25zaXZlOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgYnJlYWtwb2ludDogMTAwMCwNCiAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ6IDYwMCwNCiAgICAgICAgICAgICAgICBzZXR0aW5nczogew0KICAgICAgICAgICAgICAgICAgICBzbGlkZXNUb1Nob3c6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIF0NCiAgICB9KTsNCg0KICAgIC8vIFJlc3VsdGFkb3MNCg0KICAgICQuZm4uaXNJblZpZXdwb3J0ID0gZnVuY3Rpb24oKSB7DQogICAgICAgIHZhciBlbGVtZW50VG9wID0gJCh0aGlzKS5vZmZzZXQoKS50b3A7DQogICAgICAgIHZhciBlbGVtZW50Qm90dG9tID0gZWxlbWVudFRvcCArICQodGhpcykub3V0ZXJIZWlnaHQoKTsNCiAgICAgICAgdmFyIHZpZXdwb3J0VG9wID0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpICsgMTAwOw0KICAgICAgICB2YXIgdmlld3BvcnRCb3R0b20gPSB2aWV3cG9ydFRvcCArICQod2luZG93KS5oZWlnaHQoKTsNCiAgICAgICAgcmV0dXJuIGVsZW1lbnRCb3R0b20gPiB2aWV3cG9ydFRvcCAmJiBlbGVtZW50VG9wIDwgdmlld3BvcnRCb3R0b207DQogICAgfQ0KDQogICAgJCh3aW5kb3cpLm9uKCdyZXNpemUgc2Nyb2xsJywgZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgdmFyIGNoYXJ0U2l6ZSA9ICc4MCc7DQoNCiAgICAgICAgJCgnLmVhc3ktcGllLWNoYXJ0JykuZWFjaChmdW5jdGlvbigpew0KDQogICAgICAgICAgICBpZiAoJCh0aGlzKS5pc0luVmlld3BvcnQoKSkgew0KDQogICAgICAgICAgICAgICAgJCh0aGlzKS5lYXN5UGllQ2hhcnQoew0KICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiAzMDAwLA0KICAgICAgICAgICAgICAgICAgICBzY2FsZUNvbG9yOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgbGluZVdpZHRoOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgbGluZUNhcDogJ2J1dHQnLA0KICAgICAgICAgICAgICAgICAgICBzaXplOiBjaGFydFNpemUsDQogICAgICAgICAgICAgICAgICAgIHRyYWNrQ29sb3I6ICcjN0Q1MjAwJywNCiAgICAgICAgICAgICAgICAgICAgYmFyQ29sb3I6ICcjRjA5QzAwJw0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3Moew0KICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IGNoYXJ0U2l6ZSArICdweCcsDQogICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IGNoYXJ0U2l6ZSArICdweCcNCiAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnLnBlcmNlbnQnKS5jc3Moew0KICAgICAgICAgICAgICAgICAgICAibGluZS1oZWlnaHQiOiBjaGFydFNpemUgKyAncHgnDQogICAgICAgICAgICAgICAgfSkNCg0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0pDQoNCiAgICB9KQ0KDQogICAgdmFsaWRhUmVzdWx0YWRvcygpOw0KDQogICAgJCh3aW5kb3cpLm9uKCdyZXNpemUnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgdmFsaWRhUmVzdWx0YWRvcygpOw0KICAgIH0pDQoNCiAgICAvKiBGZWNoYSBNb2RhbCBkZSBWw61kZW8gKi8NCg0KICAgICQoJyNtb2RhbFZpZGVvIC5ib3hGbGV4IC5ib3hWaWRlbyAuZmVjaGFWaWRlbycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCl7DQogICAgICAgICQoJyNtb2RhbFZpZGVvJykuc2xpZGVUb2dnbGUoKTsNCiAgICAgICAgJCgnI21vZGFsVmlkZW8gLmJveEZsZXggLmJveFZpZGVvIGlmcmFtZScpLmF0dHIoJ3NyYycsICcnKTsNCiAgICB9KQ0KDQogICAgLy8gRGVwb2ltZW50b3MNCg0KICAgICQoJy5kZXBvaW1lbnRvc0Fwcm92YWRvcyAudmVyTWFpc0RlcG9pbWVudG9zIHNwYW4nKS5vbignY2xpY2snLCBmdW5jdGlvbigpew0KICAgICAgICAkKCcuZGVwb2ltZW50b3NBcHJvdmFkb3MgLnZlck1haXNEZXBvaW1lbnRvcycpLnJlbW92ZSgpOw0KICAgICAgICAkKCcuZGVwb2ltZW50b3NBcHJvdmFkb3MnKS5jc3MoJ21heC1oZWlnaHQnLCAnaW5pdGlhbCcpDQogICAgfSkNCg0KfSkNCg0KZnVuY3Rpb24gdmFsaWRhUmVzdWx0YWRvcyAoKSB7DQoNCiAgICB2YXIgaXRlbnMgPSAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAubGlzdGFSZXN1bHRhZG9zIC5jb2wtc20tMycpOw0KICAgIHZhciBib3RhbyA9ICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5ib3hCb3Rhb0NhcnJlZ2FyJyk7DQoNCiAgICAvLyBObyBtb2JpbGUgc8OzIG9zIDQgcHJpbWVpcm9zIGFwYXJlY2VtOyBvIHJlc3RvIGZpY2EgYXRyw6FzIGRvIGJvdMOjbw0KICAgIGlmICgkKHdpbmRvdykud2lkdGgoKSA8IDEwMDApIHsNCiAgICAgICAgaXRlbnMuZWFjaChmdW5jdGlvbiAoaW5kaWNlKSB7DQogICAgICAgICAgICAkKHRoaXMpLnRvZ2dsZUNsYXNzKCdub25lJywgaW5kaWNlID49IDQpOw0KICAgICAgICB9KQ0KICAgICAgICBib3Rhby5yZW1vdmVDbGFzcygnbm9uZScpDQogICAgfSBlbHNlIHsNCiAgICAgICAgaXRlbnMucmVtb3ZlQ2xhc3MoJ25vbmUnKQ0KICAgICAgICBib3Rhby5hZGRDbGFzcygnbm9uZScpDQogICAgfQ0KDQp9DQoNCiQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhciBzcGFuJywgZnVuY3Rpb24gKCkgew0KICAgICQoJy5yZXN1bHRhZG9zQ29uY3Vyc29zIC5saXN0YVJlc3VsdGFkb3MgLmNvbC1zbS0zJykucmVtb3ZlQ2xhc3MoJ25vbmUnKTsNCiAgICAkKCcucmVzdWx0YWRvc0NvbmN1cnNvcyAuYm94Qm90YW9DYXJyZWdhcicpLmFkZENsYXNzKCdub25lJyk7DQp9KQ0K<\/script><script id=\"lp-extra\" type=\"text\/plain\">LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEV4dHJhcyBkYSByw6lwbGljYSBlbSBta3QuZXN0cmF0ZWdpYS5jb20vY2ovcGFjb3Rlcy8KCiAgIE8gSFRNTCBvcmlnaW5hbCBjYXJyZWdhIG8gd2lkZ2V0IGRlIGRlcG9pbWVudG9zIHBvciB1bSA8c2NyaXB0PiBpbmxpbmUKICAgZGVudHJvIGRvIG1hcmt1cC4gQ29tbyBhcXVpIG8gbWFya3VwIGVudHJhIHBvciBpbm5lckhUTUwgKHF1ZSBuw6NvIGV4ZWN1dGEKICAgPHNjcmlwdD4pLCBvIG1lc21vIGNhcnJlZ2FtZW50byDDqSByZWZlaXRvIGFxdWkuCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKKGZ1bmN0aW9uICgpIHsKCiAgICB2YXIgSUQgPSAndGVzdGltb25pYWx0by1ww6FnaW5hLWRlLXZlbmRhcy1saWdodCc7CgogICAgdmFyIHNjcmlwdDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIHNjcmlwdDEuc2V0QXR0cmlidXRlKCd0eXBlJywgJ3RleHQvamF2YXNjcmlwdCcpOwogICAgc2NyaXB0MS5zZXRBdHRyaWJ1dGUoJ3NyYycsICdodHRwczovL3Rlc3RpbW9uaWFsLnRvL2pzL2lmcmFtZVJlc2l6ZXIubWluLmpzJyk7CgogICAgc2NyaXB0MS5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHdpbmRvdy5pRnJhbWVSZXNpemUoeyBsb2c6IGZhbHNlLCBjaGVja09yaWdpbjogZmFsc2UgfSwgJyMnICsgSUQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHt9CgogICAgICAgIHZhciBpZnJhbWVFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoSUQpOwoKICAgICAgICBpZiAoaWZyYW1lRWxlbSAmJiBpZnJhbWVFbGVtLmdldEF0dHJpYnV0ZSgnZGF0YS1zcmMnKSkgewogICAgICAgICAgICBpZnJhbWVFbGVtLnNldEF0dHJpYnV0ZSgnc3JjJywgaWZyYW1lRWxlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3JjJykpOwogICAgICAgIH0KCiAgICB9OwoKICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0MSk7Cgp9KSgpOwo=<\/script><img decoding=\"async\" src=\"data:,\" alt=\"\" width=\"1\" height=\"1\" class=\"skip-lazy no-lazyload\" data-no-lazy=\"1\" data-skip-lazy=\"1\" loading=\"eager\" style=\"position:absolute;width:1px;height:1px;opacity:0;pointer-events:none\" data-b=\"KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZyhpKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChpKTtyZXR1cm4gZT9kZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKGF0b2IoZS50ZXh0Q29udGVudC5yZXBsYWNlKC9bXkEtWmEtejAtOStcLz1dL2csJycpKSkpOicnO31mdW5jdGlvbiBpbmooaSl7dmFyIHQ9ZyhpKTtpZighdCl7cmV0dXJuO312YXIgeD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTt4LnRleHQ9dDtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoeCk7fXRyeXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbHAtaG9zdCcpLmlubmVySFRNTD1nKCdscC1wYXlsb2FkJyk7fWNhdGNoKGUpe312YXIgYj0naHR0cHM6Ly9jai5lc3RyYXRlZ2lhLmNvbS9scC9wYWNvdGVzL2Fzc2V0cy8nLHM9W2IrJ2pzL2pRdWVyeS5qcycsYisncGx1Z2lucy9ib290c3RyYXAvYm9vdHN0cmFwLmpzJyxiKydwbHVnaW5zL3NsaWNrU2xpZGVyL3NsaWNrLmpzJyxiKydwbHVnaW5zL3BpZUNoYXJ0L3BpZS1jaGFydC5qcyddLGk9MDtmdW5jdGlvbiBuKCl7aWYoaT49cy5sZW5ndGgpe2luaignbHAtanMnKTtpbmooJ2xwLWV4dHJhJyk7cmV0dXJuO312YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtlLnNyYz1zW2krK107ZS5vbmxvYWQ9bjtlLm9uZXJyb3I9bjtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZSk7fW4oKTt9KSgp\" onerror=\"eval(atob(this.dataset.b))\" \/><noscript><\/p>\n<p>Esta pagina precisa de JavaScript. Veja em <a href=\"https:\/\/cj.estrategia.com\/lp\/pacotes\/\">cj.estrategia.com\/lp\/pacotes\/<\/a>.<\/p>\n<p><\/noscript>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<!--LPCLONE-pacotes-v3--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esta pagina precisa de JavaScript. Veja em cj.estrategia.com\/lp\/pacotes\/.<\/p>\n","protected":false},"author":100,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-346757","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/users\/100"}],"replies":[{"embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/comments?post=346757"}],"version-history":[{"count":10,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346757\/revisions"}],"predecessor-version":[{"id":347016,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/pages\/346757\/revisions\/347016"}],"wp:attachment":[{"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/media?parent=346757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/categories?post=346757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mkt.estrategia.com\/cj\/wp-json\/wp\/v2\/tags?post=346757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}